mirror of
https://github.com/overte-org/overte.git
synced 2025-04-14 07:27:04 +02:00
put unconfirmed AM assignments at the back of the queue
This commit is contained in:
parent
001432ec55
commit
3f381eeae8
1 changed files with 12 additions and 3 deletions
|
@ -155,7 +155,7 @@ int main(int argc, const char* argv[]) {
|
||||||
Assignment avatarMixerAssignment(Assignment::CreateCommand,
|
Assignment avatarMixerAssignment(Assignment::CreateCommand,
|
||||||
Assignment::AvatarMixerType,
|
Assignment::AvatarMixerType,
|
||||||
Assignment::LocalLocation);
|
Assignment::LocalLocation);
|
||||||
|
|
||||||
Assignment voxelServerAssignment(Assignment::CreateCommand,
|
Assignment voxelServerAssignment(Assignment::CreateCommand,
|
||||||
Assignment::VoxelServerType,
|
Assignment::VoxelServerType,
|
||||||
Assignment::LocalLocation);
|
Assignment::LocalLocation);
|
||||||
|
@ -271,8 +271,10 @@ int main(int argc, const char* argv[]) {
|
||||||
Assignment::Type matchType = nodeType == NODE_TYPE_AUDIO_MIXER
|
Assignment::Type matchType = nodeType == NODE_TYPE_AUDIO_MIXER
|
||||||
? Assignment::AudioMixerType : Assignment::AvatarMixerType;
|
? Assignment::AudioMixerType : Assignment::AvatarMixerType;
|
||||||
|
|
||||||
|
|
||||||
// enumerate the assignments and see if there is a type and UUID match
|
// enumerate the assignments and see if there is a type and UUID match
|
||||||
while (assignment != ::assignmentQueue.end()) {
|
while (assignment != ::assignmentQueue.end()) {
|
||||||
|
|
||||||
if ((*assignment)->getType() == matchType
|
if ((*assignment)->getType() == matchType
|
||||||
&& (*assignment)->getUUID() == checkInUUID) {
|
&& (*assignment)->getUUID() == checkInUUID) {
|
||||||
// type and UUID match
|
// type and UUID match
|
||||||
|
@ -383,9 +385,16 @@ int main(int argc, const char* argv[]) {
|
||||||
::assignmentQueue.erase(assignment);
|
::assignmentQueue.erase(assignment);
|
||||||
delete *assignment;
|
delete *assignment;
|
||||||
}
|
}
|
||||||
} else if ((*assignment)->getType() == Assignment::VoxelServerType) {
|
} else {
|
||||||
// this is a voxel-server assignment, remove the assignment from the queue
|
// remove the assignment from the queue
|
||||||
::assignmentQueue.erase(assignment);
|
::assignmentQueue.erase(assignment);
|
||||||
|
|
||||||
|
if ((*assignment)->getType() != Assignment::VoxelServerType) {
|
||||||
|
// keep audio-mixer and avatar-mixer assignments in the queue
|
||||||
|
// until we get a check-in from that GUID
|
||||||
|
// but stick it at the back so the others have a chance to go out
|
||||||
|
::assignmentQueue.push_back(*assignment);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// stop looping, we've handed out an assignment
|
// stop looping, we've handed out an assignment
|
||||||
|
|
Loading…
Reference in a new issue