mirror of
https://github.com/dotnet/MQTTnet.git
synced 2026-10-16 09:13:02 +08:00
Expose PacketIdentifier in PublishResult.
This commit is contained in:
@@ -25,6 +25,7 @@
|
||||
* [Client] Fixed issues in QoS 2 handling which leads to message loss.
|
||||
* [Client] Replaced all events with proper async compatible handlers (BREAKING CHANGE!).
|
||||
* [Client] Added more configuration values to TCP endpoint options.
|
||||
* [Client] Added used PacketIdentifier to publish result.
|
||||
* [ManagedClient] Replaced all events with proper async compatible handlers (BREAKING CHANGE!).
|
||||
* [ManagedClient] The log ID is now propagated to the internal client (thanks to @vbBerni).
|
||||
* [ManagedClient] Added validation of topics before publishing.
|
||||
|
||||
@@ -6,6 +6,8 @@ namespace MQTTnet.Client.Publishing
|
||||
{
|
||||
public class MqttClientPublishResult
|
||||
{
|
||||
public ushort? PacketIdentifier { get; set; }
|
||||
|
||||
public MqttClientPublishReasonCode ReasonCode { get; set; } = MqttClientPublishReasonCode.Success;
|
||||
|
||||
public string ReasonString { get; set; }
|
||||
|
||||
@@ -199,6 +199,7 @@ namespace MQTTnet.Formatter.V3
|
||||
{
|
||||
return new MqttClientPublishResult
|
||||
{
|
||||
PacketIdentifier = pubAckPacket?.PacketIdentifier,
|
||||
ReasonCode = MqttClientPublishReasonCode.Success
|
||||
};
|
||||
}
|
||||
|
||||
@@ -189,21 +189,22 @@ namespace MQTTnet.Formatter.V5
|
||||
|
||||
public MqttClientPublishResult CreatePublishResult(MqttPubAckPacket pubAckPacket)
|
||||
{
|
||||
var reasonCode = MqttClientPublishReasonCode.Success;
|
||||
if (pubAckPacket != null)
|
||||
{
|
||||
// QoS 0 has no response. So we treat it as a success always.
|
||||
reasonCode = (MqttClientPublishReasonCode)pubAckPacket.ReasonCode;
|
||||
}
|
||||
|
||||
var result = new MqttClientPublishResult
|
||||
{
|
||||
// Both enums share the same values.
|
||||
ReasonCode = reasonCode,
|
||||
ReasonCode = MqttClientPublishReasonCode.Success,
|
||||
ReasonString = pubAckPacket?.Properties?.ReasonString,
|
||||
UserProperties = pubAckPacket?.Properties?.UserProperties
|
||||
};
|
||||
|
||||
if (pubAckPacket != null)
|
||||
{
|
||||
// QoS 0 has no response. So we treat it as a success always.
|
||||
// Both enums have the same values. So it can be easily converted.
|
||||
result.ReasonCode = (MqttClientPublishReasonCode)pubAckPacket.ReasonCode;
|
||||
|
||||
result.PacketIdentifier = pubAckPacket.PacketIdentifier;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user