mirror of
https://github.com/dotnet/MQTTnet.git
synced 2026-10-16 17:23:04 +08:00
Fixed bug in PubRel packet generation (MQTTv5 only).
This commit is contained in:
@@ -10,15 +10,9 @@ namespace MQTTnet.Formatter.V5
|
||||
{
|
||||
private readonly IMqttPacketWriter _packetWriter;
|
||||
|
||||
public MqttV500PacketEncoder()
|
||||
: this(new MqttPacketWriter())
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public MqttV500PacketEncoder(IMqttPacketWriter packetWriter)
|
||||
{
|
||||
_packetWriter = packetWriter;
|
||||
_packetWriter = packetWriter ?? throw new ArgumentNullException(nameof(packetWriter));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -4,15 +4,10 @@ using MQTTnet.Packets;
|
||||
|
||||
namespace MQTTnet.Formatter.V5
|
||||
{
|
||||
public class MqttV500PacketFormatter : IMqttPacketFormatter
|
||||
public sealed class MqttV500PacketFormatter : IMqttPacketFormatter
|
||||
{
|
||||
private readonly MqttV500PacketEncoder _encoder;
|
||||
private readonly MqttV500PacketDecoder _decoder = new MqttV500PacketDecoder();
|
||||
|
||||
public MqttV500PacketFormatter()
|
||||
{
|
||||
_encoder = new MqttV500PacketEncoder();
|
||||
}
|
||||
readonly MqttV500PacketDecoder _decoder = new MqttV500PacketDecoder();
|
||||
readonly MqttV500PacketEncoder _encoder;
|
||||
|
||||
public MqttV500PacketFormatter(IMqttPacketWriter writer)
|
||||
{
|
||||
|
||||
@@ -452,7 +452,12 @@ namespace MQTTnet.Server
|
||||
await SendAsync(publishPacket).ConfigureAwait(false);
|
||||
await awaiter1.WaitOneAsync(_serverOptions.DefaultCommunicationTimeout).ConfigureAwait(false);
|
||||
|
||||
await SendAsync(new MqttPubRelPacket { PacketIdentifier = publishPacket.PacketIdentifier }).ConfigureAwait(false);
|
||||
await SendAsync(new MqttPubRelPacket
|
||||
{
|
||||
PacketIdentifier = publishPacket.PacketIdentifier,
|
||||
ReasonCode = MqttPubRelReasonCode.Success
|
||||
}, cancellationToken).ConfigureAwait(false);
|
||||
|
||||
await awaiter2.WaitOneAsync(_serverOptions.DefaultCommunicationTimeout).ConfigureAwait(false);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user