flush method
Completes when all queued bytes have been handed to the OS.
Implementation
@override
Future<void> flush() async {
flushCount++;
final err = flushError;
if (err != null && !_closed) throw err;
if (flushDrains) _pendingWriteBytes = 0;
}