dispose method
void
dispose()
Dispose of the socket.
Don't forget to call this at the end of the lifetime of a socket.
Implementation
void dispose() {
_shouldReconnect = false;
if (_disposed) return;
_disposed = true;
_ws?.sink.close();
for (final sub in _subscriptions) {
sub.cancel();
}
_subscriptions.clear();
_pendingMessages.clear();
final disposedChannels = channels.values.toList();
channels.clear();
for (final channel in disposedChannels) {
channel.leavePush?.trigger(PushResponse(status: 'ok'));
channel.close();
}
_topicMessages.close();
_topicStreams.clear();
_stateStreamController.close();
_receiveStreamController.close();
}