Ejemplo n.º 1
0
        public HttpTopologyConfiguration(IHttpTopologyConfiguration topologyConfiguration)
        {
            _messageTopology = topologyConfiguration.Message;
            _sendTopology    = topologyConfiguration.Send;
            _publishTopology = topologyConfiguration.Publish;

            _consumeTopology = new InMemoryConsumeTopology(topologyConfiguration.Message);
        }
Ejemplo n.º 2
0
        public GrpcTopologyConfiguration(IGrpcTopologyConfiguration topologyConfiguration)
        {
            _messageTopology = topologyConfiguration.Message;
            _sendTopology    = topologyConfiguration.Send;
            _publishTopology = topologyConfiguration.Publish;

            _consumeTopology = new GrpcConsumeTopology(topologyConfiguration.Message, _publishTopology);
        }
Ejemplo n.º 3
0
        GlobalTopology()
        {
            _send = new SendTopology();
            _send.AddConvention(new CorrelationIdSendTopologyConvention());

            _publish = new PublishTopology();

            var observer = new PublishToSendTopologyConfigurationObserver(_send);

            _publishToSendHandle = _publish.Connect(observer);
        }
Ejemplo n.º 4
0
        public HttpTopologyConfiguration(IMessageTopologyConfigurator messageTopology)
        {
            _messageTopology = messageTopology;

            _sendTopology = new SendTopology();
            _sendTopology.Connect(new DelegateSendTopologyConfigurationObserver(GlobalTopology.Send));

            _publishTopology = new InMemoryPublishTopology(messageTopology);
            _publishTopology.Connect(new DelegatePublishTopologyConfigurationObserver(GlobalTopology.Publish));

            var observer = new PublishToSendTopologyConfigurationObserver(_sendTopology);

            _publishToSendTopologyHandle = _publishTopology.Connect(observer);

            _consumeTopology = new InMemoryConsumeTopology(messageTopology);
        }
Ejemplo n.º 5
0
        public GrpcTopologyConfiguration(IMessageTopologyConfigurator messageTopology)
        {
            _messageTopology = messageTopology;

            _sendTopology = new SendTopology();
            _sendTopology.ConnectSendTopologyConfigurationObserver(new DelegateSendTopologyConfigurationObserver(GlobalTopology.Send));
            _sendTopology.TryAddConvention(new RoutingKeySendTopologyConvention());

            _publishTopology = new GrpcPublishTopology(messageTopology);
            _publishTopology.ConnectPublishTopologyConfigurationObserver(new DelegatePublishTopologyConfigurationObserver(GlobalTopology.Publish));

            var observer = new PublishToSendTopologyConfigurationObserver(_sendTopology);

            _publishTopology.ConnectPublishTopologyConfigurationObserver(observer);

            _consumeTopology = new GrpcConsumeTopology(messageTopology, _publishTopology);
        }
        protected BaseReceiveEndpointContext(IReceiveEndpointConfiguration configuration, ReceiveObservable receiveObservers,
                                             ReceiveTransportObservable transportObservers, ReceiveEndpointObservable endpointObservers)
        {
            InputAddress = configuration.InputAddress;
            HostAddress  = configuration.HostAddress;

            _send    = configuration.Topology.Send;
            _publish = configuration.Topology.Publish;

            SendObservers     = new SendObservable();
            PublishObservers  = new PublishObservable();
            EndpointObservers = endpointObservers;

            ReceiveObservers   = receiveObservers;
            TransportObservers = transportObservers;

            _sendPipe    = new Lazy <ISendPipe>(() => configuration.Send.CreatePipe());
            _publishPipe = new Lazy <IPublishPipe>(() => configuration.Publish.CreatePipe());

            _serializer              = new Lazy <IMessageSerializer>(() => configuration.Serialization.Serializer);
            _sendEndpointProvider    = new Lazy <ISendEndpointProvider>(CreateSendEndpointProvider);
            _publishEndpointProvider = new Lazy <IPublishEndpointProvider>(CreatePublishEndpointProvider);
        }
 /// <summary>
 /// Use the delegate to format the routing key, using Empty if the string is null upon return
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="configurator"></param>
 /// <param name="formatter"></param>
 public static void UseRoutingKeyFormatter <T>(this ISendTopologyConfigurator configurator, Func <SendContext <T>, string> formatter)
     where T : class
 {
     configurator.GetMessageTopology <T>().UseRoutingKeyFormatter(new DelegateRoutingKeyFormatter <T>(formatter));
 }
 /// <summary>
 /// Use the routing key formatter for the specified message type
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="configurator"></param>
 /// <param name="formatter"></param>
 public static void UseRoutingKeyFormatter <T>(this ISendTopologyConfigurator configurator, IMessageRoutingKeyFormatter <T> formatter)
     where T : class
 {
     configurator.GetMessageTopology <T>().UseRoutingKeyFormatter(formatter);
 }