sendToIsolate<T extends IsolateReplyParams> method

Future<T> sendToIsolate<T extends IsolateReplyParams>(
  1. IsolateRequestParams isolateRequestParams
)
inherited

Implementation

Future<T> sendToIsolate<T extends IsolateReplyParams>(
    IsolateRequestParams isolateRequestParams) async {
  try {
    return await _queue.add(() async {
      assert(_sendPort != null);
      _sendPort!.send(isolateRequestParams);
      var res = await _subject.first;
      //_log.info("Received ${res.runtimeType} for $isolateRequestParams");
      T result = res as T;
//      if (result.error != null) {
      // _log.warning(
      //     "Error ${result.error} while sending $isolateRequestParams",
      //     result.stacktrace);
//      }
      return result;
    });
  } on TimeoutException {
    throw TimeoutException("Timeout while sending $isolateRequestParams");
  }
}