public void Send(string address, RoutingType?routingType, Message message, CancellationToken cancellationToken) { CheckState(); _sendObservable.PreSend(address, routingType, message); _producer.Send(address, routingType, message, cancellationToken); _sendObservable.PostSend(address, routingType, message); }
public void Send(string address, RoutingType?routingType, Message message, CancellationToken cancellationToken) { while (true) { CheckClosed(); try { _producer.Send(address, routingType, message, cancellationToken); return; } catch (ProducerClosedException) { HandleProducerClosed(); Wait(cancellationToken); Log.RetryingSendAsync(Logger); } } }