in dotnet/src/Azure.Iot.Operations.Mqtt/Session/MqttSessionClient.cs [775:798]
private static bool IsFatal(MqttClientDisconnectReason code)
{
switch (code)
{
case MqttClientDisconnectReason.MalformedPacket:
case MqttClientDisconnectReason.ProtocolError:
case MqttClientDisconnectReason.NotAuthorized:
case MqttClientDisconnectReason.SessionTakenOver:
case MqttClientDisconnectReason.TopicFilterInvalid:
case MqttClientDisconnectReason.TopicNameInvalid:
case MqttClientDisconnectReason.TopicAliasInvalid:
case MqttClientDisconnectReason.PacketTooLarge:
case MqttClientDisconnectReason.PayloadFormatInvalid:
case MqttClientDisconnectReason.RetainNotSupported:
case MqttClientDisconnectReason.QosNotSupported:
case MqttClientDisconnectReason.ServerMoved:
case MqttClientDisconnectReason.SharedSubscriptionsNotSupported:
case MqttClientDisconnectReason.SubscriptionIdentifiersNotSupported:
case MqttClientDisconnectReason.WildcardSubscriptionsNotSupported:
return true;
}
return false;
}