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); }
void ValidateBinding(IMessageSink <InMemoryTransportMessage> destination, IInMemoryExchange sourceExchange) { try { var graph = new DependencyGraph <IMessageSink <InMemoryTransportMessage> >(_exchanges.Count + 1); foreach (var exchange in _exchanges.Values) { foreach (IMessageSink <InMemoryTransportMessage> sink in exchange.Sinks) { graph.Add(sink, exchange); } } graph.Add(destination, sourceExchange); graph.EnsureGraphIsAcyclic(); } catch (Exception exception) { throw new InvalidOperationException($"The exchange binding would create a cycle in the messaging fabric.", exception); } }
protected InMemoryMessageMoveTransport(IInMemoryExchange exchange) { _exchange = exchange; }
public ExchangeInMemorySendTransportContext(IHostConfiguration hostConfiguration, IInMemoryExchange exchange) : base(hostConfiguration) { Exchange = exchange; }
public InMemoryMessageDeadLetterTransport(IInMemoryExchange exchange) : base(exchange) { }
public InMemoryMessageErrorTransport(IInMemoryExchange exchange) : base(exchange) { }
public ExchangeInMemorySendTransportContext(IInMemoryExchange exchange, ILogContext logContext) : base(logContext) { Exchange = exchange; }
public InMemorySendTransport(IInMemoryExchange exchange) { _exchange = exchange; _sendObservable = new SendObservable(); }