public SagaWorkerMessageSink(ISagaWorker <TSaga> worker, IPipelineSink <TMessage> sink) { _worker = worker; _sink = sink; }
private UnsubscribeAction ConnectToSink <TSaga, TMessage>(ISubscriberContext context, ISagaWorker <TSaga> worker, DataEvent <TSaga, TMessage> eevent, IEnumerable <State> states) where TSaga : SagaStateMachine <TSaga>, ISaga where TMessage : class { var factory = new SagaStateMachineMessageSinkFactory <TSaga, TMessage>(context, _policyFactory); IPipelineSink <TMessage> sink = factory.Create(eevent, states); var workerSink = new SagaWorkerMessageSink <TSaga, TMessage>(worker, sink); return(context.Pipeline.ConnectToRouter(workerSink, () => context.SubscribedTo <Distributed <TMessage> >())); }
public SagaWorkerMessageSink(ISagaWorker <TSaga> worker, ISagaMessageSink <TSaga, TMessage> sink) { _worker = worker; _sink = sink; }
private UnsubscribeAction ConnectSink <TSaga>(ISubscriberContext context, ISagaWorker <TSaga> worker, Type messageType, Event @event, IEnumerable <State> states) { return(this.FastInvoke <SagaDistributorSubscriber, UnsubscribeAction>(new[] { typeof(TSaga), messageType }, "ConnectToSink", context, worker, @event, states)); }