/// <summary> /// Initializes a new instance of the <see cref="RabbitMQLogProvider" /> class. /// </summary> /// <param name="connector">The connector.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <exception cref="ArgumentNullException">connector</exception> public RabbitMQLogProvider(RabbitMQConnector connector, CancellationToken cancellationToken) { _connector = connector ?? throw new ArgumentNullException(nameof(connector)); _channel = _connector.ConnectionFactory.CreateConnection().CreateModel(); _channel.ExchangeDeclare(_connector.DefaultExchangeName, ExchangeType.Fanout, true); _cancellationToken = cancellationToken; _queue = new ConcurrentQueue <string>(); var thread = new Thread(Worker); thread.Start(); }
/// <summary> /// Initializes a new instance of the <see cref="MessageReceiver" /> class. /// </summary> /// <param name="connector">The connector.</param> /// <exception cref="ArgumentNullException">connector</exception> public MessageReceiver(RabbitMQConnector connector) =>