start method

  1. @override
Future<Stream<DataBody>> start(
  1. State state
)
override

Starts data transfer.

Implementation

@override
Future<Stream<DataBody>> start(State state) async {
  logger?.info('worker: Sending data request...');
  DataRange? range = state.transferred > 0
      ? DataRange(state.transferred, state.head.size - 1)
      : null;
  var resp = await _conn.get(state.head.url, range: range);
  var bufferedStream = bufferedListStream(resp.stream, bufferSize);
  return bufferedStream.map((s) => DataBody(s));
}