using System; using System.Threading; using System.Threading.Tasks; using xEventService.Models; namespace xEventService.Interfaces { /// /// RabbitMQ Producer Service Implementation ... /// public interface IXRabbitMQProducerService : IDisposable { /// /// Sending Message with Full Request Descriptor ... /// /// /// an Instance of . /// Topic is used as Exchange Name ... /// /// /// Task SendMessageAsync( XEventRequest request, CancellationToken cancellationToken = default ); /// /// Sending a Message to Default Exchange ... /// /// /// an Instance of ... /// /// /// Target Exchange Name. if empty, uses default from configuration ... /// /// /// Routing Key for message routing ... /// /// /// Task SendMessageAsync( XEventMessage message, string exchange = null, string routingKey = null, CancellationToken cancellationToken = default ); } }