createWorker<A, S> method

IsolateWorkerWrapper<A, S> createWorker<A, S>(
  1. Type isolateWorkerType
)

Implementation

IsolateWorkerWrapper<A, S> createWorker<A, S>(Type isolateWorkerType) {
  final wrapper = IsolateWorkerWrapper<A, S>(
    _isolateConnector.sendEvent,
    (String id) => _isolateConnector.sendEvent(CloseIsolateWorkerEvent(id))
  );
  if (!_freeWrappers.containsKey(isolateWorkerType)) {
    _freeWrappers[isolateWorkerType] = [];
  }
  _freeWrappers[isolateWorkerType]!.add(wrapper);

  print('[meowchannel] Created wrapper in ${Isolate.current.debugName}');
  _isolateConnector.sendEvent(CreateIsolateWorkerEvent(isolateWorkerType));
  return wrapper;
}