Example #1
0
        public void Request(Envelope <TRequest> envelope, IResponseReceiver <TResponse> request)
        {
            var thread         = _workerPool.GetThreadPoolDispatcher();
            var responseWaiter = new DispatchableRequest <TRequest, TResponse>(_func, envelope, Id, request);

            thread.DispatchAction(responseWaiter);
        }
        public void Publish(Envelope <TPayload> message)
        {
            var action  = new PublishEventThreadAction <TPayload>(_action, message);
            var context = _workerPool.GetThreadPoolDispatcher();

            context.DispatchAction(action);
        }
Example #3
0
        public void Scatter(Envelope <TRequest> request, IGatherReceiver <TResponse> scatter)
        {
            var action  = new DispatchableScatter <TRequest, TResponse>(_action, request, Id, Name, scatter);
            var context = _workerPool.GetThreadPoolDispatcher();

            context.DispatchAction(action);
        }
 public IActionDispatcher GetThreadPoolDispatcher()
 {
     return(_inner.GetThreadPoolDispatcher());
 }
Example #5
0
 public IActionDispatcher GetThreadPoolDispatcher()
 {
     return(_workerPool.GetThreadPoolDispatcher());
 }