close method
Closes the socket. Must complete even if it was never open.
Implementation
@override
Future<void> close() async {
if (_closed) return;
_closed = true;
// Not awaited on purpose: a single-subscription controller that was never
// listened to never completes its close future, and a transport whose
// `ready` failed is exactly that case.
if (!_incoming.isClosed) unawaited(_incoming.close());
}