create method

Future<DownloadManagerResponse> create({
  1. required DownRequire req,
  2. Function? fc,
})

Implementation

@pragma('vm:entry-point')
Future<DownloadManagerResponse> create({
  required DownRequire req,
  Function? fc,
}) async {
  DownloadManagerResponse response = DownloadManagerResponse(
    token: 0,
    status: true,
  );
  try {
    if (req.token == 0) {
      req.token = ManSettings().token();
    }
    response.token = req.token;

    ManReques _req = ManReques(
      url: req.url,
      extension: req.extension,
      fileName: req.fileName,
      token: req.token,
      priority: req.priority,
      setting: req.setting ??= ManSettings(),
    );
    _task.addAll({response.token: TaskDownload(token: response.token)});
    _req.sendPort = _task[response.token]?.rcvPort.sendPort;
    _task[response.token]?.root = await Isolate.spawn<ManReques>(
      RunDownload().starDownload,
      _req,
    );
    _task[response.token]?.listing();

    if (fc != null) {
      fc();
    }
  } catch (e) {
    response.status = false;
  }
  return response;
}