Example #1
0
        public FaultedSendActivity(Uri destionationAddress, EventExceptionMessageFactory <TInstance, TData, TException, TMessage> messageFactory)
        {
            _destionationAddress = destionationAddress;
            _messageFactory      = messageFactory;

            _sendPipe = Pipe.Empty <SendContext <TMessage> >();
        }
        public FaultedRespondActivity(EventExceptionMessageFactory <TInstance, TData, TException, TMessage> messageFactory,
                                      Action <SendContext <TMessage> > contextCallback)
        {
            _messageFactory = messageFactory;

            _responsePipe = Pipe.Execute(contextCallback);
        }
 public FaultedSendActivity(DestinationAddressProvider <TInstance> destinationAddressProvider,
                            EventExceptionMessageFactory <TInstance, TException, TMessage> messageFactory,
                            SendContextCallback <TInstance, TMessage> contextCallback)
     : this(messageFactory, contextCallback)
 {
     _destinationAddressProvider = destinationAddressProvider;
 }
Example #4
0
        public FaultedPublishActivity(EventExceptionMessageFactory <TInstance, TData, TException, TMessage> messageFactory,
                                      Action <PublishContext <TMessage> > contextCallback)
        {
            _messageFactory = messageFactory;

            _publishPipe = Pipe.Execute(contextCallback);
        }
 public FaultedScheduleActivity(EventExceptionMessageFactory <TInstance, TException, TMessage> messageFactory,
                                Schedule <TInstance, TMessage> schedule, ScheduleTimeExceptionProvider <TInstance, TException> timeProvider,
                                Action <SendContext <TMessage> > contextCallback)
     : this(schedule, timeProvider, contextCallback)
 {
     _messageFactory = messageFactory;
 }
Example #6
0
 public FaultedRequestActivity(Request <TInstance, TRequest, TResponse> request,
                               EventExceptionMessageFactory <TInstance, TException, TRequest> messageFactory)
     : base(request)
 {
     _messageFactory         = messageFactory;
     _serviceAddressProvider = context => request.Settings.ServiceAddress;
 }
Example #7
0
        public FaultedSendActivity(Uri destionationAddress, EventExceptionMessageFactory <TInstance, TData, TException, TMessage> messageFactory,
                                   Action <SendContext <TMessage> > contextCallback)
        {
            _destionationAddress = destionationAddress;
            _messageFactory      = messageFactory;

            _sendPipe = Pipe.Execute(contextCallback);
        }
        public FaultedScheduleActivity(EventExceptionMessageFactory <TInstance, TData, TException, TMessage> messageFactory,
                                       Schedule <TInstance, TMessage> schedule)
        {
            _messageFactory = messageFactory;
            _schedule       = schedule;

            _sendPipe = Pipe.Empty <SendContext>();
        }
Example #9
0
 public static ExceptionActivityBinder <TInstance, TData, TException> Publish <TInstance, TData, TException, TMessage>(
     this ExceptionActivityBinder <TInstance, TData, TException> source, EventExceptionMessageFactory <TInstance, TData, TException, TMessage> messageFactory)
     where TInstance : class, SagaStateMachineInstance
     where TData : class
     where TMessage : class
     where TException : Exception
 {
     return(source.Add(new FaultedPublishActivity <TInstance, TData, TException, TMessage>(messageFactory)));
 }
 public static ExceptionActivityBinder <TInstance, TException> Send <TInstance, TException, TMessage>(
     this ExceptionActivityBinder <TInstance, TException> source,
     EventExceptionMessageFactory <TInstance, TException, TMessage> messageFactory, Action <SendContext <TMessage> > contextCallback = null)
     where TInstance : class, SagaStateMachineInstance
     where TMessage : class
     where TException : Exception
 {
     return(source.Add(new FaultedSendActivity <TInstance, TException, TMessage>(messageFactory, contextCallback)));
 }
        public FaultedScheduleActivity(EventExceptionMessageFactory <TInstance, TData, TException, TMessage> messageFactory,
                                       Schedule <TInstance, TMessage> schedule,
                                       Action <SendContext> contextCallback)
        {
            _messageFactory = messageFactory;
            _schedule       = schedule;

            _sendPipe = Pipe.Execute(contextCallback);
        }
Example #12
0
 public static ExceptionActivityBinder <TInstance, TData, TException> Schedule <TInstance, TData, TException, TMessage>(
     this ExceptionActivityBinder <TInstance, TData, TException> source, Schedule <TInstance, TMessage> schedule,
     EventExceptionMessageFactory <TInstance, TData, TException, TMessage> messageFactory)
     where TInstance : class, SagaStateMachineInstance
     where TData : class
     where TException : Exception
     where TMessage : class
 {
     return(source.Add(new FaultedScheduleActivity <TInstance, TData, TException, TMessage>(messageFactory, schedule)));
 }
Example #13
0
 public static ExceptionActivityBinder <TInstance, TData, TException> Send <TInstance, TData, TException, TMessage>(
     this ExceptionActivityBinder <TInstance, TData, TException> source, Uri destinationAddress,
     EventExceptionMessageFactory <TInstance, TData, TException, TMessage> messageFactory)
     where TInstance : class, SagaStateMachineInstance
     where TData : class
     where TMessage : class
     where TException : Exception
 {
     return(source.Add(new FaultedSendActivity <TInstance, TData, TException, TMessage>(destinationAddress, messageFactory)));
 }
Example #14
0
 public static ExceptionActivityBinder <TInstance, TException> Schedule <TInstance, TData, TException, TMessage>(
     this ExceptionActivityBinder <TInstance, TException> source, Schedule <TInstance, TMessage> schedule,
     EventExceptionMessageFactory <TInstance, TException, TMessage> messageFactory,
     ScheduleTimeExceptionProvider <TInstance, TException> timeProvider, Action <SendContext <TMessage> > contextCallback = null)
     where TInstance : class, SagaStateMachineInstance
     where TException : Exception
     where TMessage : class
 {
     return(source.Add(new FaultedScheduleActivity <TInstance, TException, TMessage>(messageFactory, schedule, timeProvider, contextCallback)));
 }
Example #15
0
 public static ExceptionActivityBinder <TInstance, TData, TException> Schedule <TInstance, TData, TException, TMessage>(
     this ExceptionActivityBinder <TInstance, TData, TException> source, Schedule <TInstance, TMessage> schedule,
     EventExceptionMessageFactory <TInstance, TData, TException, TMessage> messageFactory,
     Action <SendContext> contextCallback, ScheduleDelayProvider <TInstance, TData, TException> delayProvider)
     where TInstance : class, SagaStateMachineInstance
     where TData : class
     where TException : Exception
     where TMessage : class
 {
     return(source.Add(new FaultedScheduleActivity <TInstance, TData, TException, TMessage>(messageFactory, schedule, contextCallback, delayProvider)));
 }
Example #16
0
        /// <summary>
        /// Send a request to the configured service endpoint, and setup the state machine to accept the response.
        /// </summary>
        /// <typeparam name="TInstance">The state instance type</typeparam>
        /// <typeparam name="TData">The event data type</typeparam>
        /// <typeparam name="TRequest">The request message type</typeparam>
        /// <typeparam name="TResponse">The response message type</typeparam>
        /// <typeparam name="TException"></typeparam>
        /// <param name="binder">The event binder</param>
        /// <param name="request">The configured request to use</param>
        /// <param name="messageFactory">The request message factory</param>
        /// <returns></returns>
        public static ExceptionActivityBinder <TInstance, TData, TException> Request <TInstance, TData, TException, TRequest, TResponse>(
            this ExceptionActivityBinder <TInstance, TData, TException> binder, Request <TInstance, TRequest, TResponse> request,
            EventExceptionMessageFactory <TInstance, TData, TException, TRequest> messageFactory)
            where TInstance : class, SagaStateMachineInstance
            where TData : class
            where TRequest : class
            where TResponse : class
            where TException : Exception
        {
            var activity = new FaultedRequestActivity <TInstance, TData, TException, TRequest, TResponse>(request, messageFactory);

            return(binder.Add(activity));
        }
Example #17
0
        /// <summary>
        /// Send a request to the configured service endpoint, and setup the state machine to accept the response.
        /// </summary>
        /// <typeparam name="TInstance">The state instance type</typeparam>
        /// <typeparam name="TRequest">The request message type</typeparam>
        /// <typeparam name="TResponse">The response message type</typeparam>
        /// <typeparam name="TException"></typeparam>
        /// <param name="binder">The event binder</param>
        /// <param name="request">The configured request to use</param>
        /// <param name="messageFactory">The request message factory</param>
        /// <returns></returns>
        public static ExceptionActivityBinder <TInstance, TException> Request <TInstance, TException, TRequest, TResponse>(
            this ExceptionActivityBinder <TInstance, TException> binder, Request <TInstance, TRequest, TResponse> request,
            EventExceptionMessageFactory <TInstance, TException, TRequest> messageFactory)
            where TInstance : class, SagaStateMachineInstance
            where TRequest : class
            where TResponse : class
            where TException : Exception
        {
            ScheduleTokenId.UseTokenId <RequestTimeoutExpired <TRequest> >(x => x.RequestId);
            var activity = new FaultedRequestActivity <TInstance, TException, TRequest, TResponse>(request, messageFactory);

            return(binder.Add(activity));
        }
Example #18
0
        public static ExceptionActivityBinder <TInstance, TException> Schedule <TInstance, TException, TMessage>(
            this ExceptionActivityBinder <TInstance, TException> source, Schedule <TInstance, TMessage> schedule,
            EventExceptionMessageFactory <TInstance, TException, TMessage> messageFactory, Action <SendContext <TMessage> > contextCallback = null)
            where TInstance : class, SagaStateMachineInstance
            where TException : Exception
            where TMessage : class
        {
            DateTime TimeProvider(ConsumeExceptionEventContext <TInstance, TException> context)
            {
                return(DateTime.UtcNow + schedule.GetDelay(context));
            }

            return(source.Add(new FaultedScheduleActivity <TInstance, TException, TMessage>(messageFactory, schedule, TimeProvider, contextCallback)));
        }
Example #19
0
 public FaultedPublishActivity(EventExceptionMessageFactory <TInstance, TException, TMessage> messageFactory,
                               Action <PublishContext <TMessage> > contextCallback)
     : this(contextCallback)
 {
     _messageFactory = messageFactory;
 }
        public FaultedRespondActivity(EventExceptionMessageFactory <TInstance, TData, TException, TMessage> messageFactory)
        {
            _messageFactory = messageFactory;

            _responsePipe = Pipe.Empty <SendContext <TMessage> >();
        }
Example #21
0
        public FaultedPublishActivity(EventExceptionMessageFactory <TInstance, TData, TException, TMessage> messageFactory)
        {
            _messageFactory = messageFactory;

            _publishPipe = Pipe.Empty <PublishContext <TMessage> >();
        }
 public FaultedSendActivity(EventExceptionMessageFactory <TInstance, TException, TMessage> messageFactory,
                            SendContextCallback <TInstance, TMessage> contextCallback)
     : this(contextCallback)
 {
     _messageFactory = messageFactory;
 }
 public FaultedRequestActivity(Request <TInstance, TRequest, TResponse> request,
                               EventExceptionMessageFactory <TInstance, TData, TException, TRequest> messageFactory)
     : base(request)
 {
     _messageFactory = messageFactory;
 }