@override Future<void> drain() async { final socket = _socket; if (socket == null) { return; } await socket.flush(); await Future<void>.delayed(Duration.zero); }