public void Start() { AssertNotDisposedOrDisposing(); if (wasStarted) { throw new InvalidOperationException("The Start method may not be invoked more than once."); } receiver = new Receiver(endpoint, enableEndpointPortAutoSelection, AcceptMessages); receiver.Start(); queuedMessagesSender = new QueuedMessagesSender(queueStorage, this); sendingThread = new Thread(queuedMessagesSender.Send) { IsBackground = true, Name = "Rhino Queue Sender Thread for " + path }; sendingThread.Start(); purgeOldDataTimer = new Timer(_ => PurgeOldData(), null, TimeSpan.FromMinutes(3), TimeSpan.FromMinutes(3)); wasStarted = true; }
public void Start() { AssertNotDisposedOrDisposing(); if (_wasStarted) { throw new InvalidOperationException("The Start method may not be invoked more than once."); } _receiver = new Receiver(_endpoint, AcceptMessages); _receiver.Start(); _choke = new SendingChoke(); _queuedMessagesSender = new QueuedMessagesSender(_queueStorage, _choke, _logger); _sendingThread = new Thread(_queuedMessagesSender.Send) { IsBackground = true, Name = "Lightning Queues Sender Thread for " + _path }; _sendingThread.Start(); _wasStarted = true; }
public QueueManager(IPEndPoint endpoint, string path) { NumberOfMessagesToKeepInProcessedQueues = 100; NumberOfMessagesToKeepOutgoingQueues = 100; NumberOfReceivedMessagesToKeep = 100000; OldestMessageInProcessedQueues = TimeSpan.FromDays(3); OldestMessageInOutgoingQueues = TimeSpan.FromDays(3); this.endpoint = endpoint; this.path = path; queueStorage = new QueueStorage(path); queueStorage.Initialize(); queueStorage.Global(actions => { receivedMsgs.Add(actions.GetAlreadyReceivedMessageIds()); actions.Commit(); }); receiver = new Receiver(endpoint, AcceptMessages); receiver.Start(); HandleRecovery(); queuedMessagesSender = new QueuedMessagesSender(queueStorage, this); sendingThread = new Thread(queuedMessagesSender.Send) { IsBackground = true, Name = "Rhino Queue Sender Thread for " + path }; sendingThread.Start(); purgeOldDataTimer = new Timer(PurgeOldData, null, TimeSpan.FromMinutes(3), TimeSpan.FromMinutes(3)); }