removeSession method
void
removeSession(
- int sid
)
Implementation
void removeSession(int sid) {
var subscriptions = _subscriptionsBySession.remove(sid);
if (subscriptions == null) {
throw Exception("cannot remove non-existing session");
}
subscriptions.forEach((key, value) {
var subscription = _subscriptionsByTopic[value.topic];
if (subscription != null) {
if (subscription.subscribers.containsKey(sid)) {
subscription.subscribers.remove(sid);
}
if (subscription.subscribers.isEmpty) {
_subscriptionsByTopic.remove(subscription.topic);
}
}
});
_sessions.remove(sid);
}