public async Task PublishAsync <T>(T message) { var serialized = JsonSerializer.Serialize(message); var address = typeof(T).Name; var msg = new Message(serialized); await _producer.SendAsync(address, msg); }
public async Task SendAsync(string address, RoutingType?routingType, Message message, Transaction transaction, CancellationToken cancellationToken) { CheckState(); _sendObservable.PreSend(address, routingType, message); await _producer.SendAsync(address, routingType, message, transaction, cancellationToken).ConfigureAwait(false); _sendObservable.PostSend(address, routingType, message); }
public async Task SendAsync(string address, RoutingType?routingType, Message message, Transaction transaction, CancellationToken cancellationToken = default) { while (true) { CheckClosed(); try { await _producer.SendAsync(address, routingType, message, transaction, cancellationToken).ConfigureAwait(false); return; } catch (ProducerClosedException) { HandleProducerClosed(); await WaitAsync(cancellationToken).ConfigureAwait(false); Log.RetryingSendAsync(Logger); } } }
public static Task SendAsync(this IAnonymousProducer producer, string address, Message message, Transaction transaction, CancellationToken cancellationToken = default) { return(producer.SendAsync(address, null, message, transaction, cancellationToken)); }
public static Task SendAsync(this IAnonymousProducer producer, string address, RoutingType routingType, Message message, CancellationToken cancellationToken = default) { return(producer.SendAsync(address, routingType, message, null, cancellationToken)); }