public BinaryMessageDeserializer(JsonSerializer deserializer, ISendEndpointProvider sendEndpointProvider,
     IPublishEndpointProvider publishEndpoint)
 {
     _deserializer = deserializer;
     _sendEndpointProvider = sendEndpointProvider;
     _publishEndpoint = publishEndpoint;
 }
 public InMemoryPublishEndpointProvider(ISendEndpointProvider sendEndpointProvider, ISendTransportProvider transportProvider, IPublishPipe publishPipe)
 {
     _sendEndpointProvider = sendEndpointProvider;
     _publishPipe = publishPipe;
     _transportCache = transportProvider as InMemoryTransportCache;
     _publishObservable = new PublishObservable();
 }
 public ServiceBusPublishEndpointProvider(IServiceBusHost host, ISendEndpointProvider sendEndpointProvider)
 {
     _host = host;
     _sendEndpointProvider = sendEndpointProvider;
     _nameFormatter = host.MessageNameFormatter;
     _publishObservable = new PublishObservable();
 }
        public ServiceBusReceiveContext(Uri inputAddress, BrokeredMessage message, IReceiveObserver observer, ISendEndpointProvider sendEndpointProvider, IPublishEndpointProvider publishEndpointProvider)
            : base(inputAddress, message.DeliveryCount > 1, observer, sendEndpointProvider, publishEndpointProvider)
        {
            _message = message;

            GetOrAddPayload<BrokeredMessageContext>(() => this);
        }
 public JsonMessageDeserializer(JsonSerializer deserializer, ISendEndpointProvider sendEndpointProvider, IPublishEndpointProvider publishEndpointProvider)
 {
     _deserializer = deserializer;
     _objectTypeDeserializer = new ObjectTypeDeserializer(_deserializer);
     _sendEndpointProvider = sendEndpointProvider;
     _publishEndpointProvider = publishEndpointProvider;
 }
 public EncryptedMessageDeserializer(JsonSerializer deserializer, ISendEndpointProvider sendEndpointProvider,
     IPublishEndpointProvider publishEndpoint, ICryptoStreamProvider provider)
 {
     _deserializer = deserializer;
     _sendEndpointProvider = sendEndpointProvider;
     _publishEndpoint = publishEndpoint;
     _provider = provider;
 }
        public HttpReceiveContext(IOwinContext requestContext, bool redelivered, IReceiveObserver receiveObserver,
            ISendEndpointProvider sendEndpointProvider, IPublishEndpointProvider publishEndpointProvider)
            : base(requestContext.Request.Uri, redelivered, receiveObserver, sendEndpointProvider, publishEndpointProvider)
        {
            _requestContext = requestContext;

            HeaderProvider = new HttpHeaderProvider(requestContext.Request.Headers);
        }
        public InMemoryReceiveContext(Uri inputAddress, InMemoryTransportMessage message, IReceiveObserver observer, ISendEndpointProvider sendEndpointProvider,
            IPublishEndpointProvider publishEndpointProvider)
            : base(inputAddress, message.DeliveryCount > 0, observer, sendEndpointProvider, publishEndpointProvider)
        {
            _body = message.Body;
            _message = message;

            GetOrAddPayload(() => this);
        }
        public HttpClientReceiveContext(HttpResponseMessage responseMessage, Stream responseStream, bool redelivered, IReceiveObserver receiveObserver,
            ISendEndpointProvider sendEndpointProvider, IPublishEndpointProvider publishEndpointProvider)
            : base(responseMessage.RequestMessage.RequestUri, redelivered, receiveObserver, sendEndpointProvider, publishEndpointProvider)
        {
            _responseMessage = responseMessage;
            _responseStream = responseStream;

            HeaderProvider = new HttpClientHeaderProvider(responseMessage.Headers);
        }
        /// <summary>
        /// Adds a RabbitMQ Basic Consumer to the pipeline
        /// </summary>
        /// <param name="configurator"></param>
        /// <param name="pipe"></param>
        /// <param name="settings"></param>
        /// <param name="receiveObserver"></param>
        /// <param name="transportObserver"></param>
        /// <param name="exchangeBindings"></param>
        /// <param name="supervisor"></param>
        /// <param name="managementPipe"></param>
        /// <param name="sendEndpointProvider"></param>
        /// <param name="publishEndpointProvider"></param>
        /// <param name="host"></param>
        public static void RabbitMqConsumer(this IPipeConfigurator<ConnectionContext> configurator, IPipe<ReceiveContext> pipe, ReceiveSettings settings, IReceiveObserver receiveObserver, IReceiveTransportObserver transportObserver, IEnumerable<ExchangeBindingSettings> exchangeBindings, ITaskSupervisor supervisor, IManagementPipe managementPipe, ISendEndpointProvider sendEndpointProvider, IPublishEndpointProvider publishEndpointProvider, IRabbitMqHost host)
        {
            if (configurator == null)
                throw new ArgumentNullException(nameof(configurator));

            var pipeBuilderConfigurator = new RabbitMqConsumerPipeSpecification(pipe, settings, receiveObserver, transportObserver, exchangeBindings,
                supervisor, managementPipe, sendEndpointProvider, publishEndpointProvider, host);

            configurator.AddPipeSpecification(pipeBuilderConfigurator);
        }
 public MessageSessionAsyncHandlerFactory(NamespaceContext context, ITaskSupervisor supervisor, ISessionReceiver receiver, IDeliveryTracker tracker,
     ISendEndpointProvider sendEndpointProvider, IPublishEndpointProvider publishEndpointProvider)
 {
     _context = context;
     _supervisor = supervisor;
     _receiver = receiver;
     _tracker = tracker;
     _sendEndpointProvider = sendEndpointProvider;
     _publishEndpointProvider = publishEndpointProvider;
 }
        public SessionReceiver(ClientContext clientContext, IPipe<ReceiveContext> receivePipe, ClientSettings clientSettings, ITaskSupervisor supervisor, ISendEndpointProvider sendEndpointProvider, IPublishEndpointProvider publishEndpointProvider)
        {
            _clientContext = clientContext;
            _receivePipe = receivePipe;
            _clientSettings = clientSettings;
            _supervisor = supervisor;
            _sendEndpointProvider = sendEndpointProvider;
            _publishEndpointProvider = publishEndpointProvider;

            _tracker = new DeliveryTracker(HandleDeliveryComplete);

            _participant = supervisor.CreateParticipant($"{TypeMetadataCache<Receiver>.ShortName} - {clientContext.InputAddress}", Stop);
        }
        public RabbitMqReceiveContext(Uri inputAddress, string exchange, string routingKey, string consumerTag, ulong deliveryTag, byte[] body, bool redelivered,
            IBasicProperties properties, IReceiveObserver observer, ISendEndpointProvider sendEndpointProvider, IPublishEndpointProvider publishEndpointProvider)
            : base(inputAddress, redelivered, observer, sendEndpointProvider, publishEndpointProvider)
        {
            Exchange = exchange;
            RoutingKey = routingKey;
            ConsumerTag = consumerTag;
            DeliveryTag = deliveryTag;
            _body = body;
            Properties = properties;

            ((ReceiveContext)this).GetOrAddPayload<RabbitMqBasicConsumeContext>(() => this);
        }
        public RabbitMqReceiveTransport(IRabbitMqHost host, ReceiveSettings settings, IManagementPipe managementPipe, ExchangeBindingSettings[] bindings, ISendEndpointProvider sendEndpointProvider, IPublishEndpointProvider publishEndpointProvider)
        {
            _host = host;
            _settings = settings;
            _bindings = bindings;
            _sendEndpointProvider = sendEndpointProvider;
            _publishEndpointProvider = publishEndpointProvider;
            _managementPipe = managementPipe;

            _receiveObservable = new ReceiveObservable();
            _receiveTransportObservable = new ReceiveTransportObservable();

            _inputAddress = _settings.GetInputAddress(_host.Settings.HostAddress);
        }
        /// <summary>
        /// The basic consumer receives messages pushed from the broker.
        /// </summary>
        /// <param name="model">The model context for the consumer</param>
        /// <param name="inputAddress">The input address for messages received by the consumer</param>
        /// <param name="receivePipe">The receive pipe to dispatch messages</param>
        /// <param name="receiveObserver">The observer for receive events</param>
        /// <param name="taskSupervisor">The token used to cancel/stop the consumer at shutdown</param>
        /// <param name="sendEndpointProvider"></param>
        /// <param name="publishEndpointProvider"></param>
        public RabbitMqBasicConsumer(ModelContext model, Uri inputAddress, IPipe<ReceiveContext> receivePipe, IReceiveObserver receiveObserver, ITaskScope taskSupervisor, ISendEndpointProvider sendEndpointProvider, IPublishEndpointProvider publishEndpointProvider)
        {
            _model = model;
            _inputAddress = inputAddress;
            _receivePipe = receivePipe;
            _receiveObserver = receiveObserver;
            _sendEndpointProvider = sendEndpointProvider;
            _publishEndpointProvider = publishEndpointProvider;

            _tracker = new DeliveryTracker(HandleDeliveryComplete);

            _receiveSettings = model.GetPayload<ReceiveSettings>();

            _pending = new ConcurrentDictionary<ulong, RabbitMqReceiveContext>();

            _participant = taskSupervisor.CreateParticipant($"{TypeMetadataCache<RabbitMqBasicConsumer>.ShortName} - {inputAddress}", Stop);
            _deliveryComplete = new TaskCompletionSource<bool>();
        }
Example #16
0
        public Receiver(NamespaceContext context, ClientContext clientContext, IPipe<ReceiveContext> receivePipe, ClientSettings clientSettings,
            ITaskSupervisor supervisor, ISendEndpointProvider sendEndpointProvider, IPublishEndpointProvider publishEndpointProvider)
        {
            _context = context;
            _clientContext = clientContext;
            _receivePipe = receivePipe;
            _clientSettings = clientSettings;
            _sendEndpointProvider = sendEndpointProvider;
            _publishEndpointProvider = publishEndpointProvider;

            _tracker = new DeliveryTracker(DeliveryComplete);

            _participant = supervisor.CreateParticipant($"{TypeMetadataCache<Receiver>.ShortName} - {clientContext.InputAddress}", Stop);

            var options = new OnMessageOptions
            {
                AutoComplete = false,
                AutoRenewTimeout = clientSettings.AutoRenewTimeout,
                MaxConcurrentCalls = clientSettings.MaxConcurrentCalls
            };

            options.ExceptionReceived += (sender, x) =>
            {
                if (!(x.Exception is OperationCanceledException))
                {
                    if (_log.IsErrorEnabled)
                        _log.Error($"Exception received on receiver: {clientContext.InputAddress} during {x.Action}", x.Exception);
                }

                if (_tracker.ActiveDeliveryCount == 0)
                {
                    if (_log.IsDebugEnabled)
                        _log.DebugFormat("Receiver shutdown completed: {0}", clientContext.InputAddress);

                    _participant.SetComplete();
                }
            };

            clientContext.OnMessageAsync(OnMessage, options);

            _participant.SetReady();
        }
        public void Apply(IBusBuilder builder)
        {
            var receiveEndpointBuilder = new HttpReceiveEndpointBuilder(_host, CreateConsumePipe(builder), builder);

            var receivePipe = CreateReceivePipe(receiveEndpointBuilder);

            _sendEndpointProvider = CreateSendEndpointProvider(receiveEndpointBuilder);
            _publishEndpointProvider = CreatePublishEndpointProvider(receiveEndpointBuilder);

            var sendPipe = builder.CreateSendPipe();

            var receiveSettings = new Settings(_pathMatch, receiveEndpointBuilder.MessageSerializer, _sendEndpointProvider, _publishEndpointProvider);

            var transport = new HttpReceiveTransport(_host, receiveSettings, sendPipe);

            var httpHost = _host as HttpHost;
            if (httpHost == null)
                throw new ConfigurationException("Must be a HttpHost");

            httpHost.ReceiveEndpoints.Add(NewId.Next().ToString(), new ReceiveEndpoint(transport, receivePipe));
        }
        public void Apply(IInMemoryBusBuilder builder)
        {
            var receiveEndpointBuilder = new InMemoryReceiveEndpointBuilder(CreateConsumePipe(builder), builder);

            var receivePipe = CreateReceivePipe(receiveEndpointBuilder);

            _sendEndpointProvider = CreateSendEndpointProvider(receiveEndpointBuilder);
            _publishEndpointProvider = CreatePublishEndpointProvider(receiveEndpointBuilder);

            var inMemoryBusBuilder = builder as InMemoryBusBuilder;
            if (inMemoryBusBuilder == null)
                throw new ArgumentException("The bus builder is expected to by an InMemoryBusBuilder", nameof(inMemoryBusBuilder));

            var transport = inMemoryBusBuilder.InMemoryHost.GetReceiveTransport(_queueName, _transportConcurrencyLimit, _sendEndpointProvider,
                _publishEndpointProvider);

            var inMemoryHost = inMemoryBusBuilder.InMemoryHost as InMemoryHost;
            if (inMemoryHost == null)
                throw new ConfigurationException("Must be an InMemoryHost");

            inMemoryHost.ReceiveEndpoints.Add(_queueName, new ReceiveEndpoint(transport, receivePipe));
        }
        /// <summary>
        /// Creates a request client that uses the bus to retrieve the endpoint and send the request.
        /// </summary>
        /// <typeparam name="TRequest">The request type</typeparam>
        /// <typeparam name="TResponse">The response type</typeparam>
        /// <param name="host"></param>
        /// <param name="sendEndpointProvider"></param>
        /// <param name="address">The service address that handles the request</param>
        /// <param name="timeout">The timeout before the request is cancelled</param>
        /// <param name="ttl">THe time to live for the request message</param>
        /// <param name="callback">Callback when the request is sent</param>
        /// <returns></returns>
        public static async Task <IRequestClient <TRequest, TResponse> > CreateRequestClient <TRequest, TResponse>(this IInMemoryHost host,
                                                                                                                   ISendEndpointProvider sendEndpointProvider, Uri address, TimeSpan timeout, TimeSpan?ttl = default(TimeSpan?),
                                                                                                                   Action <SendContext <TRequest> > callback = null)
            where TRequest : class
            where TResponse : class
        {
            var endpoint = host.ConnectReceiveEndpoint(NewId.NextGuid().ToString("N"));

            var ready = await endpoint.Ready.ConfigureAwait(false);

            return(new MessageRequestClient <TRequest, TResponse>(sendEndpointProvider, ready.ReceiveEndpoint, ready.InputAddress, address, timeout, ttl,
                                                                  callback));
        }
Example #20
0
 public SendEndpointCache(ISendEndpointProvider sendEndpointProvider)
 {
     _sendEndpointProvider = sendEndpointProvider;
     _cache = new LazyConcurrentDictionary<Uri, ISendEndpoint>(GetSendEndpointFromProvider, AddressEqualityComparer.Comparer);
 }
Example #21
0
 public PaymentController(ISendEndpointProvider sendEndpointProvider)
 {
     _sendEndpointProvider = sendEndpointProvider;
 }
Example #22
0
        public JsonConsumeContext(JsonSerializer deserializer, IObjectTypeDeserializer objectTypeDeserializer, ISendEndpointProvider sendEndpointProvider,
                                  IPublishEndpointProvider publishEndpointProvider, ReceiveContext receiveContext, MessageEnvelope envelope)
        {
            _receiveContext          = receiveContext;
            _envelope                = envelope;
            _sendEndpointProvider    = sendEndpointProvider;
            _publishEndpointProvider = publishEndpointProvider;
            _deserializer            = deserializer;
            _objectTypeDeserializer  = objectTypeDeserializer;
            _messageToken            = GetMessageToken(envelope.Message);
            _supportedTypes          = envelope.MessageType.ToArray();
            _messageTypes            = new Dictionary <Type, object>();

            _publishEndpoint =
                new Lazy <IPublishEndpoint>(() => _publishEndpointProvider.CreatePublishEndpoint(_receiveContext.InputAddress, CorrelationId, ConversationId));
        }
 public OrderController(IPublishEndpoint publishEndpoint, ISendEndpointProvider sendEndpointProvider, ILogger <OrderController> logger)
 {
     _publishEndpoint      = publishEndpoint;
     _sendEndpointProvider = sendEndpointProvider;
     _logger = logger;
 }
Example #24
0
 public RabbiqMqService(ISendEndpointProvider sendEndpointProvider)
 {
     _sendEndpointProvider = sendEndpointProvider;
 }
Example #25
0
 public ServiceClientRequestSendEndpoint(Task <IMessageClient <TMessage> > messageClient, ConsumeContext consumeContext)
 {
     _messageClient        = messageClient;
     _sendEndpointProvider = consumeContext;
     _consumeContext       = consumeContext;
 }
 private async Task <ISendEndpoint> GetSendEndpoint(ISendEndpointProvider sendEndpointProvider, string endpointName)
 {
     return(await sendEndpointProvider.GetSendEndpoint(new Uri($"queue:{endpointName}")));
 }
 public HomeController(MainDbContext dbContext, IPublishEndpoint publishEndpoint, ISendEndpointProvider sendEndpointProvider)
 {
     this.dbContext            = dbContext;
     this.publishEndpoint      = publishEndpoint;
     this.sendEndpointProvider = sendEndpointProvider;
 }
 public SmogInformationController(ILogger <SmogInformationController> logger, ISendEndpointProvider sendEndpointProvider, IMapper mapper)
 {
     _logger = logger;
     _sendEndpointProvider = sendEndpointProvider;
     _mapper = mapper;
 }
Example #29
0
        public RabbitMqReceiveContext(Uri inputAddress, string exchange, string routingKey, string consumerTag, ulong deliveryTag, byte[] body, bool redelivered,
                                      IBasicProperties properties, IReceiveObserver observer, ISendEndpointProvider sendEndpointProvider, IPublishEndpointProvider publishEndpointProvider)
            : base(inputAddress, redelivered, observer, sendEndpointProvider, publishEndpointProvider)
        {
            Exchange    = exchange;
            RoutingKey  = routingKey;
            ConsumerTag = consumerTag;
            DeliveryTag = deliveryTag;
            _body       = body;
            Properties  = properties;

            ((ReceiveContext)this).GetOrAddPayload <RabbitMqBasicConsumeContext>(() => this);
        }
Example #30
0
 public TicketsController(IPublishEndpoint publishEndpoint, ISendEndpointProvider sendEndpointProvider, IConfiguration configuration)
 {
     _publishEndpoint      = publishEndpoint;
     _sendEndpointProvider = sendEndpointProvider;
     _configuration        = configuration;
 }
 public OrderController(
     ISendEndpointProvider sendEndpointProvider, IOrderDataAccess orderDataAccess)
 {
     _sendEndpointProvider = sendEndpointProvider;
     _orderDataAccess      = orderDataAccess;
 }
Example #32
0
 public BooksRequestProducer(ISendEndpointProvider sendEndpointProvider, IConfiguration configuration)
 {
     _sendEndpointProvider = sendEndpointProvider;
     _configuration        = configuration;
 }
 public ProtocolBuffersMessageDeserializer(ISendEndpointProvider sendEndpointProvider, IPublishEndpointProvider publishEndpointProvider)
 {
     _sendEndpointProvider = sendEndpointProvider;
     _publishEndpointProvider = publishEndpointProvider;
 }
Example #34
0
 protected BaseReceiveContext(Uri inputAddress, bool redelivered, IReceiveObserver receiveObserver, ISendEndpointProvider sendEndpointProvider, IPublishEndpointProvider publishEndpointProvider)
     : this(inputAddress, redelivered, receiveObserver, new CancellationTokenSource(), sendEndpointProvider, publishEndpointProvider)
 {
 }
 public SendMassTransitMessage(ISendEndpointProvider sender, IWorkflowExpressionEvaluator evaluator)
 {
     this.sender    = sender;
     this.evaluator = evaluator;
 }
 public EndpointRecurringMessageScheduler(ISendEndpointProvider sendEndpointProvider, Uri schedulerAddress)
 {
     _schedulerEndpoint = new Lazy <Task <ISendEndpoint> >(() => sendEndpointProvider.GetSendEndpoint(schedulerAddress));
 }
Example #37
0
 public ServiceClientRequestSendEndpoint(Task <IMessageClient <TMessage> > messageClient, ISendEndpointProvider sendEndpointProvider)
 {
     _messageClient        = messageClient;
     _sendEndpointProvider = sendEndpointProvider;
 }
Example #38
0
 public PayloadSendEndpointProvider(ISendEndpointProvider provider, PayloadFactory <TPayload> payloadFactory)
 {
     _provider       = provider;
     _payloadFactory = payloadFactory;
 }
Example #39
0
        public IMessageDeserializer GetMessageDeserializer(ISendEndpointProvider sendEndpointProvider, IPublishEndpointProvider publishEndpointProvider)
        {
            IMessageDeserializer[] deserializers =
                _deserializerFactories.Values.Select(x => x(sendEndpointProvider, publishEndpointProvider)).ToArray();

            return new SupportedMessageDeserializers(deserializers);
        }
 public MassTransitCommandBus(ISendEndpointProvider sendEndpointProvider)
 {
     _sendEndpointProvider = sendEndpointProvider;
 }
Example #41
0
 public CommandBus(ISendEndpointProvider endpoint)
 {
     this.endpoint = endpoint;
 }
 IMessageDeserializer CreateDeserializer(ISendEndpointProvider sendEndpointProvider, IPublishEndpointProvider publishEndpoint)
 {
     return new EncryptedMessageDeserializer(BsonMessageSerializer.Deserializer, sendEndpointProvider, publishEndpoint,
         _streamProvider);
 }
 public DelayedMessageScheduleMessageProvider(ISendEndpointProvider sendEndpointProvider)
 {
     _sendEndpointProvider = sendEndpointProvider;
 }
 public ServiceBusMessageScheduler(ISendEndpointProvider sendEndpointProvider)
 {
     _sendEndpointProvider = sendEndpointProvider;
 }
Example #45
0
 public SendRequestSendEndpoint(ISendEndpointProvider provider, Uri destinationAddress, ConsumeContext consumeContext)
 {
     _provider           = provider;
     _destinationAddress = destinationAddress;
     _consumeContext     = consumeContext;
 }
Example #46
0
 public InMemoryPublishEndpointProvider(ISendEndpointProvider sendEndpointProvider, ISendTransportProvider transportProvider)
 {
     _sendEndpointProvider = sendEndpointProvider;
     _transportCache       = transportProvider as InMemoryTransportCache;
     _publishObservable    = new PublishObservable();
 }
Example #47
0
        /// <summary>
        /// The basic consumer receives messages pushed from the broker.
        /// </summary>
        /// <param name="model">The model context for the consumer</param>
        /// <param name="inputAddress">The input address for messages received by the consumer</param>
        /// <param name="receivePipe">The receive pipe to dispatch messages</param>
        /// <param name="receiveObserver">The observer for receive events</param>
        /// <param name="taskSupervisor">The token used to cancel/stop the consumer at shutdown</param>
        /// <param name="sendEndpointProvider"></param>
        /// <param name="publishEndpointProvider"></param>
        public RabbitMqBasicConsumer(ModelContext model, Uri inputAddress, IPipe <ReceiveContext> receivePipe, IReceiveObserver receiveObserver, ITaskScope taskSupervisor, ISendEndpointProvider sendEndpointProvider, IPublishEndpointProvider publishEndpointProvider)
        {
            _model                   = model;
            _inputAddress            = inputAddress;
            _receivePipe             = receivePipe;
            _receiveObserver         = receiveObserver;
            _sendEndpointProvider    = sendEndpointProvider;
            _publishEndpointProvider = publishEndpointProvider;

            _tracker = new DeliveryTracker(HandleDeliveryComplete);

            _receiveSettings = model.GetPayload <ReceiveSettings>();

            _pending = new ConcurrentDictionary <ulong, RabbitMqReceiveContext>();

            _participant      = taskSupervisor.CreateParticipant($"{TypeMetadataCache<RabbitMqBasicConsumer>.ShortName} - {inputAddress}", Stop);
            _deliveryComplete = new TaskCompletionSource <bool>();
        }
 /// <summary>
 /// Creates a request client that uses the bus to retrieve the endpoint and send the request.
 /// </summary>
 /// <typeparam name="TRequest">The request type</typeparam>
 /// <typeparam name="TResponse">The response type</typeparam>
 /// <param name="connector"></param>
 /// <param name="sendEndpointProvider"></param>
 /// <param name="responseAddress"></param>
 /// <param name="address">The service address that handles the request</param>
 /// <param name="timeout">The timeout before the request is cancelled</param>
 /// <param name="ttl">THe time to live for the request message</param>
 /// <param name="callback">Callback when the request is sent</param>
 /// <returns></returns>
 public static IRequestClient <TRequest, TResponse> CreateRequestClient <TRequest, TResponse>(this IRequestPipeConnector connector,
                                                                                              ISendEndpointProvider sendEndpointProvider, Uri responseAddress, Uri address, TimeSpan timeout,
                                                                                              TimeSpan?ttl = default(TimeSpan?), Action <SendContext <TRequest> > callback = null)
     where TRequest : class
     where TResponse : class
 {
     return(new MessageRequestClient <TRequest, TResponse>(sendEndpointProvider, connector, responseAddress, address, timeout, ttl, callback));
 }
 public Settings(string pathMatch, IMessageSerializer messageSerializer, ISendEndpointProvider sendEndpointProvider,
     IPublishEndpointProvider publishEndpointProvider)
 {
     PathMatch = pathMatch;
     MessageSerializer = messageSerializer;
     SendEndpointProvider = sendEndpointProvider;
     PublishEndpointProvider = publishEndpointProvider;
 }
Example #50
0
        protected BaseReceiveContext(Uri inputAddress, bool redelivered, IReceiveObserver receiveObserver, CancellationTokenSource source, ISendEndpointProvider sendEndpointProvider, IPublishEndpointProvider publishEndpointProvider)
            : base(new PayloadCache(), source.Token)
        {
            _receiveTimer = Stopwatch.StartNew();

            _cancellationTokenSource = source;
            SendEndpointProvider     = sendEndpointProvider;
            PublishEndpointProvider  = publishEndpointProvider;
            InputAddress             = inputAddress;
            Redelivered      = redelivered;
            _receiveObserver = receiveObserver;

            _headers = new Lazy <Headers>(() => new JsonHeaders(ObjectTypeDeserializer.Instance, HeaderProvider));

            _contentType = new Lazy <ContentType>(GetContentType);

            _pendingTasks = new List <Task>(4);
        }
Example #51
0
 public SearchRequestEventPublisher(ISendEndpointProvider sendEndpointProvider, IOptions <RabbitMqConfiguration> rabbitMqOptions, ILogger <SearchRequestEventPublisher> logger)
 {
     _logger = logger;
     _sendEndpointProvider  = sendEndpointProvider;
     _rabbitMqConfiguration = rabbitMqOptions.Value;
 }
Example #52
0
 public BookResponseProducer(ISendEndpointProvider sendEndpointProvider, IConfiguration configuration)
 {
     _sendEndpointProvider = sendEndpointProvider;
     _configuration        = configuration;
 }
Example #53
0
 public Test(IRequestClient <CreateEntityRequest> createClient, IRequestClient <GetEntityMetadataRequest> getMetadataClient, IEntityMetadataSerializer serializer, ISendEndpointProvider sendEndpointProvider, ILogger <Test> logger, IRequestClient <GetEntityTransformRequest> getTransformClient)
 {
     _createClient         = createClient;
     _getMetadataClient    = getMetadataClient;
     _serializer           = serializer;
     _sendEndpointProvider = sendEndpointProvider;
     _logger             = logger;
     _getTransformClient = getTransformClient;
 }
Example #54
0
 public SendEndpointCache(ISendEndpointProvider sendEndpointProvider)
 {
     _sendEndpointProvider = sendEndpointProvider;
     _cache = new ConcurrentDictionary<Uri, Lazy<Task<ISendEndpoint>>>(AddressEqualityComparer.Comparer);
 }