public InMemoryReceiveTransport(Uri inputAddress, IInMemoryQueue queue, ReceiveEndpointContext context)
        {
            _inputAddress = inputAddress;
            _queue        = queue;
            _context      = context;

            _dispatcher = context.CreateReceivePipeDispatcher();
        }
Пример #2
0
        public InMemoryReceiveTransport(Uri inputAddress, IInMemoryQueue queue, ReceiveEndpointContext context)
        {
            _inputAddress = inputAddress;
            _queue        = queue;
            _context      = context;

            _tracker = new DeliveryTracker(HandleDeliveryComplete);
        }
            public ReceiveTransportAgent(InMemoryReceiveEndpointContext context, IInMemoryQueue queue)
            {
                _context = context;
                _queue   = queue;

                _dispatcher = context.CreateReceivePipeDispatcher();

                _consumerHandle = queue.ConnectConsumer(this);

                Task.Run(() => Startup());
            }
        public InMemoryReceiveTransport(Uri inputAddress, IInMemoryQueue queue, IReceiveEndpointTopology topology)
        {
            _inputAddress = inputAddress;
            _queue        = queue;
            _topology     = topology;

            _receiveObservable   = new ReceiveObservable();
            _transportObservable = new ReceiveTransportObservable();

            _tracker = new DeliveryTracker(HandleDeliveryComplete);

            _supervisor  = new TaskSupervisor($"{TypeMetadataCache<InMemoryReceiveTransport>.ShortName} - {_inputAddress}");
            _participant = _supervisor.CreateParticipant($"{TypeMetadataCache<InMemoryReceiveTransport>.ShortName} - {_inputAddress}");
        }
        public InMemoryReceiveTransport(Uri inputAddress, IInMemoryQueue queue, IPipe <ReceiveContext> receivePipe, IInMemoryExchange errorExchange,
                                        IInMemoryExchange deadLetterExchange, ReceiveEndpointContext topology)
        {
            _inputAddress = inputAddress;
            _queue        = queue;
            _topology     = topology;
            _receivePipe  = receivePipe;

            _errorTransport      = new InMemoryMessageErrorTransport(errorExchange);
            _deadLetterTransport = new InMemoryMessageDeadLetterTransport(deadLetterExchange);

            _receiveObservable   = new ReceiveObservable();
            _transportObservable = new ReceiveTransportObservable();

            _tracker = new DeliveryTracker(HandleDeliveryComplete);
        }