Browse Source

Changed how clientRooms map is cleaned up after a client leaves. It should be removed from the map even if the client was connected to one or more rooms. Otherwise the entry will stay in memory, causing a leak.

master
andpal 10 years ago
parent
commit
4cc361a1e7
  1. 2
      src/main/java/com/corundumstudio/socketio/namespace/Namespace.java

2
src/main/java/com/corundumstudio/socketio/namespace/Namespace.java

@ -299,7 +299,7 @@ public class Namespace implements SocketIONamespace {
public void leave(String room, UUID sessionId) { public void leave(String room, UUID sessionId) {
leave(roomClients, room, sessionId); leave(roomClients, room, sessionId);
leave(clientRooms, sessionId, room);
clientRooms.remove(sessionId);
} }
public Set<String> getRooms(SocketIOClient client) { public Set<String> getRooms(SocketIOClient client) {

Loading…
Cancel
Save