close method
Closes the connection.
Implementation
Future<void> close() async {
if (_closing) return;
_closing = true;
try {
final streamIds = List<int>.from(_registeredStreams.keys);
for (final streamId in streamIds) {
final stream = _registeredStreams[streamId];
if (stream != null) {
await stream.close();
}
}
_registeredStreams.clear();
multiplexer.removeSocket(cids.localCid);
emit('close');
} catch (e) {
emit('error', e);
rethrow;
} finally {
super.close();
}
}