mirror of
https://github.com/dotnet/MQTTnet.git
synced 2026-10-28 17:22:37 +08:00
Improve session message injection (#2117)
* Improve session message injection methods * Add more tests for session injection * Change return type from MqttPublishPacket to MqttPacketWithIdentifier * Use dedicated type for MattApplicationMessage injection result * Code review minor fixes * Apply project code style * Update release notes --------- Co-authored-by: Anton Smolkov <anton.smolkov@idp.zyfra.com> Co-authored-by: christian <6939810+chkr1011@users.noreply.github.com>
This commit is contained in:
co-authored by
Anton Smolkov
christian
parent
e7de2b913a
commit
27771f0146
@@ -0,0 +1,10 @@
|
||||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
namespace MQTTnet;
|
||||
|
||||
public class InjectMqttApplicationMessageResult
|
||||
{
|
||||
public ushort PacketIdentifier { get; init; }
|
||||
}
|
||||
@@ -141,14 +141,6 @@ namespace MQTTnet.Internal
|
||||
}
|
||||
}
|
||||
|
||||
public int ItemsCount(MqttPacketBusPartition partition)
|
||||
{
|
||||
lock (_syncRoot)
|
||||
{
|
||||
return _partitions[(int)partition].Count;
|
||||
}
|
||||
}
|
||||
|
||||
public int PartitionItemsCount(MqttPacketBusPartition partition)
|
||||
{
|
||||
lock (_syncRoot)
|
||||
|
||||
@@ -10,8 +10,8 @@ namespace MQTTnet.Internal
|
||||
{
|
||||
public sealed class MqttPacketBusItem
|
||||
{
|
||||
readonly AsyncTaskCompletionSource<bool> _promise = new AsyncTaskCompletionSource<bool>();
|
||||
|
||||
readonly AsyncTaskCompletionSource<MqttPacket> _promise = new AsyncTaskCompletionSource<MqttPacket>();
|
||||
|
||||
public MqttPacketBusItem(MqttPacket packet)
|
||||
{
|
||||
Packet = packet ?? throw new ArgumentNullException(nameof(packet));
|
||||
@@ -28,7 +28,7 @@ namespace MQTTnet.Internal
|
||||
|
||||
public void Complete()
|
||||
{
|
||||
_promise.TrySetResult(true);
|
||||
_promise.TrySetResult(Packet);
|
||||
Completed?.Invoke(this, EventArgs.Empty);
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ namespace MQTTnet.Internal
|
||||
_promise.TrySetException(exception);
|
||||
}
|
||||
|
||||
public Task WaitAsync()
|
||||
public Task<MqttPacket> WaitAsync()
|
||||
{
|
||||
return _promise.Task;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user