diff --git a/Source/MQTTnet/Client/Connecting/MqttClientAuthenticateResult.cs b/Source/MQTTnet/Client/Connecting/MqttClientAuthenticateResult.cs index f7ff7253..7419fae0 100644 --- a/Source/MQTTnet/Client/Connecting/MqttClientAuthenticateResult.cs +++ b/Source/MQTTnet/Client/Connecting/MqttClientAuthenticateResult.cs @@ -27,7 +27,7 @@ namespace MQTTnet.Client.Connecting public ushort? ReceiveMaximum { get; set; } - public MqttQualityOfServiceLevel? MaximumQoS { get; set; } + public MqttQualityOfServiceLevel MaximumQoS { get; set; } public string ResponseInformation { get; set; } diff --git a/Source/MQTTnet/Formatter/V5/MqttV500DataConverter.cs b/Source/MQTTnet/Formatter/V5/MqttV500DataConverter.cs index b5d7103d..7f9bd92f 100644 --- a/Source/MQTTnet/Formatter/V5/MqttV500DataConverter.cs +++ b/Source/MQTTnet/Formatter/V5/MqttV500DataConverter.cs @@ -93,7 +93,7 @@ namespace MQTTnet.Formatter.V5 MaximumPacketSize = connAckPacket.Properties?.MaximumPacketSize, ReasonString = connAckPacket.Properties?.ReasonString, ReceiveMaximum = connAckPacket.Properties?.ReceiveMaximum, - MaximumQoS = connAckPacket.Properties?.MaximumQoS, + MaximumQoS = connAckPacket.Properties?.MaximumQoS ?? MqttQualityOfServiceLevel.ExactlyOnce, ResponseInformation = connAckPacket.Properties?.ResponseInformation, TopicAliasMaximum = connAckPacket.Properties?.TopicAliasMaximum, ServerReference = connAckPacket.Properties?.ServerReference, diff --git a/Source/MQTTnet/Formatter/V5/MqttV500PropertiesReader.cs b/Source/MQTTnet/Formatter/V5/MqttV500PropertiesReader.cs index 3282dbda..bb8beace 100644 --- a/Source/MQTTnet/Formatter/V5/MqttV500PropertiesReader.cs +++ b/Source/MQTTnet/Formatter/V5/MqttV500PropertiesReader.cs @@ -89,6 +89,7 @@ namespace MQTTnet.Formatter.V5 { throw new MqttProtocolViolationException($"Unexpected Maximum QoS value: {value}"); } + return (MqttQualityOfServiceLevel)value; }