protected BaseReceiveEndpointContext(IHostConfiguration hostConfiguration, IReceiveEndpointConfiguration configuration)
        {
            InputAddress = configuration.InputAddress;
            HostAddress  = configuration.HostAddress;

            _publishTopology = configuration.Topology.Publish;

            ConsumePipeSpecification = configuration.Consume.Specification;

            _logContext = LogContext.Current.CreateLogContext(LogCategoryName.Transport.Receive);

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

            _endpointObservers  = configuration.EndpointObservers;
            _receiveObservers   = configuration.ReceiveObservers;
            _transportObservers = configuration.TransportObservers;

            Dependencies = configuration.Dependencies;

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

            _serializer               = new Lazy <IMessageSerializer>(() => configuration.Serialization.Serializer);
            _sendEndpointProvider     = new Lazy <ISendEndpointProvider>(CreateSendEndpointProvider);
            _publishEndpointProvider  = new Lazy <IPublishEndpointProvider>(CreatePublishEndpointProvider);
            _sendTransportProvider    = new Lazy <ISendTransportProvider>(CreateSendTransportProvider);
            _publishTransportProvider = new Lazy <IPublishTransportProvider>(CreatePublishTransportProvider);

            hostConfiguration.ConnectReceiveContextContext(this);
        }
        protected BaseReceiveEndpointContext(IHostConfiguration hostConfiguration, IReceiveEndpointConfiguration configuration)
        {
            _hostConfiguration = hostConfiguration;

            InputAddress           = configuration.InputAddress;
            HostAddress            = configuration.HostAddress;
            PublishFaults          = configuration.PublishFaults;
            PrefetchCount          = configuration.PrefetchCount;
            ConcurrentMessageLimit = configuration.ConcurrentMessageLimit;

            _publishTopology = configuration.Topology.Publish;

            ConsumePipeSpecification = configuration.Consume.Specification;

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

            _endpointObservers  = configuration.EndpointObservers;
            _receiveObservers   = configuration.ReceiveObservers;
            _transportObservers = configuration.TransportObservers;

            Dependencies = configuration.Dependencies;

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

            _serializer = new Lazy <IMessageSerializer>(() => configuration.Serialization.Serializer);

            Reset();

            hostConfiguration.ConnectReceiveEndpointContext(this);
        }
        GlobalTopology()
        {
            _send = new SendTopology();
            _send.AddConvention(new CorrelationIdSendTopologyConvention());

            _publish = new PublishTopology();

            var observer = new PublishToSendTopologyConfigurationObserver(_send);

            _publishToSendHandle = _publish.Connect(observer);
        }
Exemple #4
0
        MediatorSendEndpoint(IReceiveEndpointConfiguration configuration, IReceivePipeDispatcher dispatcher, ILogContext logContext,
                             SendObservable sendObservers)
        {
            _dispatcher    = dispatcher;
            _logContext    = logContext;
            _sendObservers = sendObservers;

            _destinationAddress = configuration.InputAddress;
            _publishTopology    = configuration.Topology.Publish;
            _receiveObservers   = configuration.ReceiveObservers;

            _sendPipe            = configuration.Send.CreatePipe();
            _publishSendEndpoint = new MediatorPublishSendEndpoint(this, configuration.Publish.CreatePipe());
        }
        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);
        }
        protected BaseReceiveEndpointContext(IReceiveEndpointConfiguration configuration)
        {
            InputAddress = configuration.InputAddress;
            HostAddress  = configuration.HostAddress;

            _publishTopology = configuration.Topology.Publish;

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

            _endpointObservers  = configuration.EndpointObservers;
            _receiveObservers   = configuration.ReceiveObservers;
            _transportObservers = configuration.TransportObservers;

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

            _serializer               = new Lazy <IMessageSerializer>(() => configuration.Serialization.Serializer);
            _sendEndpointProvider     = new Lazy <ISendEndpointProvider>(CreateSendEndpointProvider);
            _publishEndpointProvider  = new Lazy <IPublishEndpointProvider>(CreatePublishEndpointProvider);
            _sendTransportProvider    = new Lazy <ISendTransportProvider>(CreateSendTransportProvider);
            _publishTransportProvider = new Lazy <IPublishTransportProvider>(CreatePublishTransportProvider);
        }
Exemple #7
0
 public MessageTypeFactory(IPublishTopologyConfigurator configurator)
 {
     _configurator = configurator;
 }
Exemple #8
0
 public ImplementedMessageTypeConnector(IPublishTopologyConfigurator publishTopology)
 {
     _publishTopology = publishTopology;
 }
Exemple #9
0
 public DelegatePublishTopologyConfigurationObserver(IPublishTopologyConfigurator publishTopology)
 {
     _publishTopology = publishTopology;
 }
 public ImplementedMessageTypeConnector(IPublishTopologyConfigurator publishTopology,
                                        MessagePublishTopology <TMessage> messagePublishTopologyConfigurator)
 {
     _publishTopology = publishTopology;
     _messagePublishTopologyConfigurator = messagePublishTopologyConfigurator;
 }