public EnvelopeDispatcher(Action <ImmutableEnvelope> action, IEnvelopeStreamer streamer, IEnvelopeQuarantine quarantine, MessageDuplicationManager manager, string dispatcherName)
 {
     _action         = action;
     _quarantine     = quarantine;
     _dispatcherName = dispatcherName;
     _manager        = manager.GetOrAdd(this);
     _streamer       = streamer;
 }
 public EnvelopeDispatcher(Action<ImmutableEnvelope> action, IEnvelopeStreamer streamer, IEnvelopeQuarantine quarantine, MessageDuplicationManager manager, string dispatcherName)
 {
     _action = action;
     _quarantine = quarantine;
     _dispatcherName = dispatcherName;
     _manager = manager.GetOrAdd(this);
     _streamer = streamer;
 }
        public CqrsEngineBuilder(IEnvelopeStreamer streamer, IEnvelopeQuarantine quarantine = null, DuplicationManager duplication = null)
        {
            Processes   = new List <IEngineProcess>();
            Streamer    = streamer;
            Quarantine  = quarantine ?? new MemoryQuarantine();
            Duplication = duplication ?? new DuplicationManager();

            Processes.Add(Duplication);
        }
        public CqrsEngineBuilder(IEnvelopeStreamer streamer, IEnvelopeQuarantine quarantine = null, DuplicationManager duplication = null)
        {
            Processes = new List<IEngineProcess>();
            Streamer = streamer;
            Quarantine = quarantine ?? new MemoryQuarantine();
            Duplication = duplication ?? new DuplicationManager();

            Processes.Add(Duplication);
        }
 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 FluentCqrsEngineBuilder(IEnvelopeStreamer streamer, IEnvelopeQuarantine quarantine = null, DuplicationManager duplication = null)
 {
     _builder = new CqrsEngineBuilder(streamer, quarantine, duplication);
 }