Skip to content

Allow clients to connect/disconnect in the same frame

Hannes Braun requested to merge (removed):fix-connect-disconnect into devel

This should fix the problem with agents connecting/disconnecting in the same frame leading to a server crash. Additionally, I applied another fix to prevent a possible deadlock in the AgentControl class (even if that's pretty unlikely to happen).

To allow the agents to actually connect all at once, we need to import their scenes to different positions. Otherwise, up to 22 agents will be imported to the exact same position (leading to a giant collision). This part is not implemented/committed yet since I'm not quite sure (yet) how to do that properly. My idea was to add another parameter to nao_hetero.rsg that determines the agents initial position on the y-axis. This parameter should be automatically added to the parameter list by the server. I already implemented this in an ugly way and that seems to work fine. Adding the additional parameter was done by the SceneEffector. But if implemented this way, I think this is something that only belongs into the rcssserver3d (not into Spark). My idea was to extend the SceneEffector for the rcssserver3d only. But from what I've seen this is currently not possible, right?

What are your thoughts on this approach? And if you've got an idea on how to extend the SceneEffector, I'd be happy to know about :)

Edited by Hannes Braun

Merge request reports