go/mqtt/fatal_error.go (44 lines of code) (raw):
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
package mqtt
var fatalConnackReasonCodes = map[byte]struct{}{
connackMalformedPacket: {},
connackProtocolError: {},
connackImplementationSpecificError: {},
connackUnsupportedProtocolVersion: {},
connackClientIdentifierNotValid: {},
connackBadUserNameOrPassword: {},
connackNotAuthorized: {},
connackBanned: {},
connackBadAuthenticationMethod: {},
connackTopicNameInvalid: {},
connackPacketTooLarge: {},
connackPayloadFormatInvalid: {},
connackRetainNotSupported: {},
connackQoSNotSupported: {},
connackUseAnotherServer: {},
connackServerMoved: {},
}
// isFatalConnackReasonCode checks if the reason code in the CONNACK received
// from the server is fatal.
func isFatalConnackReasonCode(reasonCode byte) bool {
_, ok := fatalConnackReasonCodes[reasonCode]
return ok
}
var fatalDisconnectReasonCodes = map[byte]struct{}{
disconnectMalformedPacket: {},
disconnectProtocolError: {},
disconnectNotAuthorized: {},
disconnectSessionTakenOver: {},
disconnectTopicFilterInvalid: {},
disconnectTopicNameInvalid: {},
disconnectTopicAliasInvalid: {},
disconnectPacketTooLarge: {},
disconnectPayloadFormatInvalid: {},
disconnectRetainNotSupported: {},
disconnectQoSNotSupported: {},
disconnectServerMoved: {},
disconnectSharedSubscriptionsNotSupported: {},
disconnectSubscriptionIdentifiersNotSupported: {},
disconnectWildcardSubscriptionsNotSupported: {},
}
// isFatalDisconnectReasonCode checks if the reason code in the DISCONNECT
// received from the server is fatal.
func isFatalDisconnectReasonCode(reasonCode byte) bool {
_, ok := fatalDisconnectReasonCodes[reasonCode]
return ok
}