sendDrained property
Completes when the send backlog drains — immediately when not backlogged, and always on close (a gated host must never wait forever on a dead peer).
Implementation
@override
Future<void> get sendDrained {
if (!isSendBacklogged) return Future<void>.value();
return (_drained ??= Completer<void>()).future;
}