Esempio n. 1
0
 private ISendingAgent buildAgent(LocalQueueSettings queue, IMessagingRoot root)
 {
     return(queue.IsDurable
         ? (ISendingAgent) new DurableLocalSendingAgent(queue, root.Pipeline, root.Settings, root.Persistence,
                                                        root.TransportLogger, root.Serialization, root.MessageLogger)
         : new LightweightLocalSendingAgent(queue, root.TransportLogger, root.Pipeline, root.Settings,
                                            root.MessageLogger));
 }
Esempio n. 2
0
        private ISendingAgent buildAgent(LocalQueueSettings queue, IMessagingRoot root)
        {
            switch (queue.Mode)
            {
            case EndpointMode.BufferedInMemory:
                return(new LightweightLocalSendingAgent(queue, root.TransportLogger, root.Pipeline, root.Settings,
                                                        root.MessageLogger));

            case EndpointMode.Durable:
                return(new DurableLocalSendingAgent(queue, root.Pipeline, root.Settings, root.Persistence,
                                                    root.TransportLogger, root.Serialization, root.MessageLogger));

            case EndpointMode.Inline:
                throw new NotImplementedException();

            default:
                throw new InvalidOperationException();
            }
        }
Esempio n. 3
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);
        }