fill method

Future<int> fill(
  1. LByteBuffer buffer,
  2. AFileReader channel
)

Implementation

Future<int> fill(final LByteBuffer buffer, final AFileReader channel) async {
  int r = buffer.remaining;
  // channel reads return -1 when EOF or other error
  // because they a non-blocking reads, 0 is a valid return value!!
  while (buffer.remaining > 0 && r != -1) {
    r = await channel.readIntoBuffer(buffer);
  }
  if (r == -1) {
    buffer.limit = buffer.position;
  }
  return r;
}