processor method
Implementation
Future<void> processor(ProcessState state, int pid, int pcount) async {
for (var chunk in state.chunks) {
if (chunk.partNumber % pcount == pid) {
try {
final st = await downChunk(state, chunk.partNumber - 1);
if (controller != null && !_controllerClosed) {
controller!.add(st);
}
if (_onPercentage != null) {
_onPercentage!(st.successCount, st.chunks.length);
}
} on DownloadFailureException {
noError = false;
_closeControllerOnce(state.url);
return;
} catch (e, stack) {
noError = false;
print('Unexpected error: $e\n$stack');
_closeControllerOnce(state.url);
return;
}
}
}
if (state.successCount == state.chunks.length) {
_closeControllerOnce(state.url);
}
}