public void onDisconnect(SocketIOClient client) {
allClients.remove(client.getSessionId());
leave(getName(), client.getSessionId());
storeFactory.pubSubStore().publish(PubSubStore.LEAVE, new JoinLeaveMessage(client.getSessionId(), getName(), getName()));
try {
for (DisconnectListener listener : disconnectListeners) {
listener.onDisconnect(client);
}