diff --git a/.github/workflows/ReleaseNotes.md b/.github/workflows/ReleaseNotes.md index 4983fc8d..087b683a 100644 --- a/.github/workflows/ReleaseNotes.md +++ b/.github/workflows/ReleaseNotes.md @@ -1 +1,2 @@ +* [Core] Optimized packet serialization of PUBACK and PUBREC packets for protocol version 5.0.0 (#1939, thanks to @Y-Sindo). * [Core] The package inspector is now fully async (#1941). diff --git a/Source/MQTTnet/Formatter/V5/MqttV5PacketEncoder.cs b/Source/MQTTnet/Formatter/V5/MqttV5PacketEncoder.cs index 8023c9c0..8e6804f3 100644 --- a/Source/MQTTnet/Formatter/V5/MqttV5PacketEncoder.cs +++ b/Source/MQTTnet/Formatter/V5/MqttV5PacketEncoder.cs @@ -279,7 +279,7 @@ namespace MQTTnet.Formatter.V5 _propertiesWriter.WriteReasonString(packet.ReasonString); _propertiesWriter.WriteUserProperties(packet.UserProperties); - if (_bufferWriter.Length > 0 || packet.ReasonCode != MqttPubAckReasonCode.Success) + if (_propertiesWriter.Length > 0 || packet.ReasonCode != MqttPubAckReasonCode.Success) { _bufferWriter.WriteByte((byte)packet.ReasonCode); _propertiesWriter.WriteTo(_bufferWriter); @@ -375,7 +375,7 @@ namespace MQTTnet.Formatter.V5 _bufferWriter.WriteTwoByteInteger(packet.PacketIdentifier); - if (_bufferWriter.Length > 0 || packet.ReasonCode != MqttPubRecReasonCode.Success) + if (_propertiesWriter.Length > 0 || packet.ReasonCode != MqttPubRecReasonCode.Success) { _bufferWriter.WriteByte((byte)packet.ReasonCode); _propertiesWriter.WriteTo(_bufferWriter); @@ -534,4 +534,4 @@ namespace MQTTnet.Formatter.V5 } } } -} \ No newline at end of file +}