ref #230 Limiting the growth of PendingMessagesQueue to a configurable value. it will only store X lated messages, 250 by default.

https://github.com/chkr1011/MQTTnet/issues/230
This commit is contained in:
VladimirAkopyan
2018-05-11 16:39:59 +01:00
parent 9f4f37bb51
commit 7b987635f7
6 changed files with 43 additions and 1 deletions
@@ -50,6 +50,17 @@ namespace MQTTnet.Server
}
}
public async Task DropPacket()
{
MqttBasePacket packet = null;
await _queueWaitSemaphore.WaitAsync().ConfigureAwait(false);
if (!_queue.TryDequeue(out packet))
{
throw new InvalidOperationException(); // should not happen
}
_queueWaitSemaphore.Release();
}
public void Enqueue(MqttBasePacket packet)
{
if (packet == null) throw new ArgumentNullException(nameof(packet));