In one case, closing a client while it was already closing on another thread (say because the server is shutting down and you are exiting at the same time) would cause an NPE if you caught it just right. Now the thing checking and setting the connection state is synchronized to avoid the race. The other more subtle one was caused by sending out the 'connected' event before the services were all started. It's quite common for application code to start doing stuff when the 'connected' event comes through like sending messages and stuff. If the services hadn't been fully started then even the serializers might not be registered yet... and that = bad. Now the client doesn't send the 'connected' event until the services are started. This should be safe and one could argue that it's more 'correct' but there is some small chance that it screws up certain use-cases. However, if a real use-case comes up that's not solved by a service then we can always add some kind of prestarted event.experimental
parent
d8d7d061f6
commit
6cb691592d
Loading…
Reference in new issue