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;
}
}