MqttConnectPayload() — netty Function Reference
Architecture documentation for the MqttConnectPayload() function in MqttDecoder.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 05955631_9ad1_8193_ccef_2c8870319b81["MqttConnectPayload()"] c4faa729_e212_a3dd_9d90_3e8fd908d755["MqttDecoder"] 05955631_9ad1_8193_ccef_2c8870319b81 -->|defined in| c4faa729_e212_a3dd_9d90_3e8fd908d755 98ef5a77_12ad_c763_de85_bb9068059363["decodeString()"] 05955631_9ad1_8193_ccef_2c8870319b81 -->|calls| 98ef5a77_12ad_c763_de85_bb9068059363 8cad50bc_08ed_5075_a0f7_de30f00ba977["decodeProperties()"] 05955631_9ad1_8193_ccef_2c8870319b81 -->|calls| 8cad50bc_08ed_5075_a0f7_de30f00ba977 1cb12c52_1d9a_4252_9803_cdf9ef0e087a["decodeByteArray()"] 05955631_9ad1_8193_ccef_2c8870319b81 -->|calls| 1cb12c52_1d9a_4252_9803_cdf9ef0e087a 2c20bb71_3f3e_3411_a7de_3f584e47d79f["validateNoBytesRemain()"] 05955631_9ad1_8193_ccef_2c8870319b81 -->|calls| 2c20bb71_3f3e_3411_a7de_3f584e47d79f style 05955631_9ad1_8193_ccef_2c8870319b81 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
codec-mqtt/src/main/java/io/netty/handler/codec/mqtt/MqttDecoder.java lines 534–585
private MqttConnectPayload decodeConnectionPayload(
ByteBuf buffer,
int maxClientIdLength,
MqttConnectVariableHeader mqttConnectVariableHeader) {
final Result<String> decodedClientId = decodeString(buffer);
final String decodedClientIdValue = decodedClientId.value;
final MqttVersion mqttVersion = MqttVersion.fromProtocolNameAndLevel(mqttConnectVariableHeader.name(),
(byte) mqttConnectVariableHeader.version());
if (!isValidClientId(mqttVersion, maxClientIdLength, decodedClientIdValue)) {
throw new MqttIdentifierRejectedException("invalid clientIdentifier: " + decodedClientIdValue);
}
int numberOfBytesConsumed = decodedClientId.numberOfBytesConsumed;
Result<String> decodedWillTopic = null;
byte[] decodedWillMessage = null;
final MqttProperties willProperties;
if (mqttConnectVariableHeader.isWillFlag()) {
if (mqttVersion == MqttVersion.MQTT_5) {
final Result<MqttProperties> propertiesResult = decodeProperties(buffer);
willProperties = propertiesResult.value;
numberOfBytesConsumed += propertiesResult.numberOfBytesConsumed;
} else {
willProperties = MqttProperties.NO_PROPERTIES;
}
decodedWillTopic = decodeString(buffer, 0, 32767);
numberOfBytesConsumed += decodedWillTopic.numberOfBytesConsumed;
decodedWillMessage = decodeByteArray(buffer);
numberOfBytesConsumed += decodedWillMessage.length + 2;
} else {
willProperties = MqttProperties.NO_PROPERTIES;
}
Result<String> decodedUserName = null;
byte[] decodedPassword = null;
if (mqttConnectVariableHeader.hasUserName()) {
decodedUserName = decodeString(buffer);
numberOfBytesConsumed += decodedUserName.numberOfBytesConsumed;
}
if (mqttConnectVariableHeader.hasPassword()) {
decodedPassword = decodeByteArray(buffer);
numberOfBytesConsumed += decodedPassword.length + 2;
}
validateNoBytesRemain(numberOfBytesConsumed);
return new MqttConnectPayload(
decodedClientId.value,
willProperties,
decodedWillTopic != null ? decodedWillTopic.value : null,
decodedWillMessage,
decodedUserName != null ? decodedUserName.value : null,
decodedPassword);
}
Domain
Subdomains
Source
Frequently Asked Questions
What does MqttConnectPayload() do?
MqttConnectPayload() is a function in the netty codebase, defined in codec-mqtt/src/main/java/io/netty/handler/codec/mqtt/MqttDecoder.java.
Where is MqttConnectPayload() defined?
MqttConnectPayload() is defined in codec-mqtt/src/main/java/io/netty/handler/codec/mqtt/MqttDecoder.java at line 534.
What does MqttConnectPayload() call?
MqttConnectPayload() calls 4 function(s): decodeByteArray, decodeProperties, decodeString, validateNoBytesRemain.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free