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));
 }
Exemple #4
0
 public DispatcherProcess(Action <byte[]> dispatcher, IPartitionInbox inbox)
 {
     _dispatcher = dispatcher;
     _inbox      = inbox;
 }
Exemple #5
0
 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));
 }