using xEventService.Constants; namespace xEventService.Models { /// /// RabbitMQ-specific connection and messaging options ... /// public class XRabbitMQOptions { /// /// Connection Username ... /// public string Username { get; set; } = "guest"; /// /// Connection Password ... /// public string Password { get; set; } = "guest"; /// /// Virtual Host ... /// public string VirtualHost { get; set; } = "/"; /// /// Default Exchange Name ... /// public string Exchange { get; set; } = "x.saherelm.events"; /// /// Default Exchange Type (fanout, direct, topic, headers) ... /// public XRabbitMQExchangeType ExchangeType { get; set; } = XRabbitMQExchangeType.Fanout; /// /// Default Queue Name ... /// if empty, a dynamic queue will be generated ... /// public string Queue { get; set; } = string.Empty; /// /// Default Routing Key ... /// public string RoutingKey { get; set; } = string.Empty; /// /// Exchange Durable Flag ... /// public bool ExchangeDurable { get; set; } = true; /// /// Exchange AutoDelete Flag ... /// public bool ExchangeAutoDelete { get; set; } = false; /// /// Queue Durable Flag ... /// public bool QueueDurable { get; set; } = true; /// /// Queue Exclusive Flag ... /// public bool QueueExclusive { get; set; } = false; /// /// Queue AutoDelete Flag ... /// public bool QueueAutoDelete { get; set; } = false; /// /// Enable Automatic Recovery on Connection Loss ... /// public bool AutomaticRecoveryEnabled { get; set; } = true; /// /// Network Recovery Interval in Seconds ... /// public int NetworkRecoveryIntervalSeconds { get; set; } = 5; /// /// Prefetch Count for Consumer ... /// public ushort PrefetchCount { get; set; } = 1; /// /// Enable Manual Acknowledgement ... /// public bool ManualAck { get; set; } = true; } }