예제 #1
0
        protected internal ISendingAgent StartSending(IMessagingRoot root, ITransportRuntime runtime,
                                                      Uri replyUri)
        {
            var sender = root.Settings.StubAllOutgoingExternalSenders ? new NulloSender(Uri) : CreateSender(root);

            return(runtime.AddSubscriber(replyUri, sender, this));
        }
예제 #2
0
        private ISendingAgent addQueue(IMessagingRoot root, ITransportRuntime runtime, LocalQueueSettings queue)
        {
            queue.Agent = buildAgent(queue, root);
            _agents     = _agents.AddOrUpdate(queue.Name, buildAgent(queue, root));

            runtime.AddSendingAgent(buildAgent(queue, root));
            runtime.AddSubscriber(queue);

            return(queue.Agent);
        }
예제 #3
0
        public void StartSenders(IMessagingRoot root, ITransportRuntime runtime)
        {
            var pipeline = root.Pipeline;

            foreach (var endpoint in Endpoints)
            {
                endpoint.Start(pipeline, root.MessageLogger);

                runtime.AddSubscriber(endpoint);
            }
        }