public void Handle(IPartitionInbox inbox, Action <ImmutableEnvelope> lambda, string name = null) { var dispatcherName = name ?? "inbox-" + Interlocked.Increment(ref _counter); var dispatcher = new EnvelopeDispatcher(lambda, Streamer, Quarantine, Duplication, dispatcherName); AddTask(new DispatcherProcess(dispatcher.Dispatch, inbox)); }
public DispatcherProcess(ISystemObserver observer, ISingleThreadMessageDispatcher dispatcher, IPartitionInbox inbox, IEnvelopeQuarantine quarantine, MessageDuplicationManager manager) { _dispatcher = dispatcher; _quarantine = quarantine; _observer = observer; _inbox = inbox; _memory = manager.GetOrAdd(this); }
public void Dispatch(IPartitionInbox inbox, Action <byte[]> lambda) { Processes.Add(new DispatcherProcess(lambda, inbox)); }
public DispatcherProcess(Action <byte[]> dispatcher, IPartitionInbox inbox) { _dispatcher = dispatcher; _inbox = inbox; }
public DispatcherProcess(Action<byte[]> dispatcher, IPartitionInbox inbox) { _dispatcher = dispatcher; _inbox = inbox; }
public void Dispatch(IPartitionInbox inbox, Action<byte[]> lambda) { Processes.Add(new DispatcherProcess(lambda, inbox)); }
public void Handle(IPartitionInbox inbox, Action<ImmutableEnvelope> lambda, string name = null) { var dispatcherName = name ?? "inbox-" + Interlocked.Increment(ref _counter); var dispatcher = new EnvelopeDispatcher(lambda, Streamer, Quarantine, Duplication, dispatcherName); AddProcess(new DispatcherProcess(dispatcher.Dispatch, inbox)); }