close method
Closes sockets with code 1001 and releases every connection.
Implementation
Future<void> close() {
final Future<void>? existing = _closeFuture;
if (existing != null) {
return existing;
}
_isClosed = true;
final completer = Completer<void>();
_closeFuture = completer.future;
unawaited(
Future<void>.sync(_runClose).then<void>(
(_) => completer.complete(),
onError: (Object error, StackTrace stackTrace) =>
completer.completeError(error, stackTrace),
),
);
return completer.future;
}