/// <summary>
 /// Creates a new Async Emitter
 /// </summary>
 /// <param name="endpoint"></param>
 /// <param name="queue"></param>
 /// <param name="sendLimit"></param>
 /// <param name="stopPollIntervalMs"></param>
 /// <param name="sendSuccessMethod"></param>
 /// <param name="deviceOnlineMethod"></param>
 /// <param name="l"></param>
 public AsyncEmitter(IEndpoint endpoint, IPersistentBlockingQueue queue, int sendLimit = 100, int stopPollIntervalMs = 300,
                     SendSuccessDelegate sendSuccessMethod = null, DeviceOnlineDelegate deviceOnlineMethod           = null, ILogger l = null)
 {
     _queue              = queue;
     _endpoint           = endpoint;
     _sendLimit          = sendLimit;
     _stopPollIntervalMs = stopPollIntervalMs;
     _sendSuccessMethod  = sendSuccessMethod;
     _deviceOnlineMethod = deviceOnlineMethod;
     _logger             = l ?? new NoLogging();
 }
 public MockProducer(int count, IPersistentBlockingQueue q)
 {
     _count = count;
     _q     = q;
 }
 public MockConsumer(int count, IPersistentBlockingQueue q, int timeout = 1000)
 {
     _count   = count;
     _q       = q;
     _timeout = timeout;
 }