Task <ISendTransport> CreateSendTransport(ISessionContextSupervisor sessionContextSupervisor, IPipe <SessionContext> pipe, string entityName,
                                                  DestinationType destinationType)
        {
            var supervisor = new SessionContextSupervisor(sessionContextSupervisor);

            var sendTransportContext = new SendTransportContext(_hostConfiguration, supervisor, pipe, entityName, destinationType);

            var transport = new ActiveMqSendTransport(sendTransportContext);

            sessionContextSupervisor.AddSendAgent(transport);

            return(Task.FromResult <ISendTransport>(transport));
        }
 public SessionContextSupervisor(ISessionContextSupervisor sessionContextSupervisor)
     : base(new ScopeSessionContextFactory(sessionContextSupervisor))
 {
     sessionContextSupervisor.AddSendAgent(this);
 }