process method

void process(
  1. List<int> data,
  2. int start,
  3. int end
)

Process a chunk of data from start to end. A call to process should only be made when processed returns null.

It may be impossible to finish processing the data due a lack of buffer space and nothing to drain the output buffer to. This is an expected scenario and the remaining data is queued in the _toProcess variable to be handled during processed.

Implementation

void process(List<int> data, int start, int end) {
  if (init) start += _initFilter(data, start, end);
  start += _inputBuffer.nextPutAll(data, start, end);
  _toProcess = _InputData<P>(data, start, end);
}