mirror of
https://github.com/dotnet/MQTTnet.git
synced 2026-10-18 10:26:11 +08:00
Merge remote-tracking branch 'origin/develop' into develop
This commit is contained in:
@@ -349,7 +349,7 @@ namespace MQTTnet.Extensions.ManagedClient
|
|||||||
// of the messages, the DropOldestQueuedMessage strategy would
|
// of the messages, the DropOldestQueuedMessage strategy would
|
||||||
// be unable to know which message is actually the oldest and would
|
// be unable to know which message is actually the oldest and would
|
||||||
// instead drop the first item in the queue.
|
// instead drop the first item in the queue.
|
||||||
var message = _messageQueue.PeekAndWait();
|
var message = _messageQueue.PeekAndWait(cancellationToken);
|
||||||
if (message == null)
|
if (message == null)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ namespace MQTTnet.Internal
|
|||||||
{
|
{
|
||||||
private readonly object _syncRoot = new object();
|
private readonly object _syncRoot = new object();
|
||||||
private readonly LinkedList<TItem> _items = new LinkedList<TItem>();
|
private readonly LinkedList<TItem> _items = new LinkedList<TItem>();
|
||||||
private readonly ManualResetEvent _gate = new ManualResetEvent(false);
|
private readonly ManualResetEventSlim _gate = new ManualResetEventSlim(false);
|
||||||
|
|
||||||
public int Count
|
public int Count
|
||||||
{
|
{
|
||||||
@@ -32,7 +32,7 @@ namespace MQTTnet.Internal
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public TItem Dequeue()
|
public TItem Dequeue(CancellationToken cancellationToken = default(CancellationToken))
|
||||||
{
|
{
|
||||||
while (true)
|
while (true)
|
||||||
{
|
{
|
||||||
@@ -52,11 +52,11 @@ namespace MQTTnet.Internal
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_gate.WaitOne();
|
_gate.Wait(cancellationToken);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public TItem PeekAndWait()
|
public TItem PeekAndWait(CancellationToken cancellationToken = default(CancellationToken))
|
||||||
{
|
{
|
||||||
while (true)
|
while (true)
|
||||||
{
|
{
|
||||||
@@ -73,7 +73,7 @@ namespace MQTTnet.Internal
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_gate.WaitOne();
|
_gate.Wait(cancellationToken);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user