예제 #1
0
            public EndpointHandle(ReceiveEndpoint endpoint, ReceiveTransportHandle transportHandle, StartEndpointReadyObserver observer)
            {
                _endpoint = endpoint;
                _observer = observer;

                TransportHandle = transportHandle;
            }
예제 #2
0
        public ReceiveEndpointHandle Start(CancellationToken cancellationToken)
        {
            LogContext.SetCurrentIfNull(_context.LogContext);

            if (_handle != null)
            {
                throw new InvalidOperationException($"The receive endpoint was already started: {InputAddress}");
            }

            var endpointReadyObserver = new StartEndpointReadyObserver(this, cancellationToken);

            var transportHandle = _transport.Start();

            _handle = new EndpointHandle(this, transportHandle, endpointReadyObserver);

            return(_handle);
        }