writeFrom method

  1. @override
Future<int> writeFrom(
  1. IoSlice src
)
override

Implementation

@override
Future<int> writeFrom(IoSlice src) async {
  final original = src.length;
  var offset = 0;
  while (offset < src.length) {
    final n = (src.length - offset).clamp(0, _buffer.length - _filled);
    _buffer.setRange(_filled, _filled + n, src.bytes, src.start + offset);
    _filled += n;
    offset += n;
    if (_filled == _buffer.length) await _drain();
  }
  return original;
}