init method

Future<List<int>> init({
  1. required int numThread,
  2. ManSettings? setting,
})

Implementation

Future<List<int>> init({required int numThread, ManSettings? setting}) async {
  try {
    if (_init) return _task.keys.toList();
    for (int i = 0; i < numThread; i++) {
      int tk = ManSettings().token();
      _task.addAll({
        tk: TaskDownload(status: StatusDownloadIsolate(tokenIsolate: tk)),
      });
      _task[tk]!.root = await Isolate.spawn<RequestCreate>(
        DownloadManager().createIsolate,
        RequestCreate(
          setting: setting ?? ManSettings(),
          token: tk,
          sendPort: _task[tk]!.rcvPort.sendPort,
        ),
      );

      sleep(Duration(milliseconds: 150));
    }
    _init = true;
    return _task.keys.toList();
  } catch (e) {
    print(e);
    return [];
  }
}