MqttHeartBeatClientHandler Class — netty Architecture
Architecture documentation for the MqttHeartBeatClientHandler class in MqttHeartBeatClientHandler.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD ccbda2b6_8f39_2dce_7583_46d91f6cccb1["MqttHeartBeatClientHandler"] 4ec286cc_06ed_6725_b4a3_62e586254f80["MqttHeartBeatClientHandler.java"] ccbda2b6_8f39_2dce_7583_46d91f6cccb1 -->|defined in| 4ec286cc_06ed_6725_b4a3_62e586254f80 f11611ba_557b_b646_54a5_a6825c792cc4["MqttHeartBeatClientHandler()"] ccbda2b6_8f39_2dce_7583_46d91f6cccb1 -->|method| f11611ba_557b_b646_54a5_a6825c792cc4 1c865c39_ab25_8a5a_ffd7_14d6880ef469["channelRead()"] ccbda2b6_8f39_2dce_7583_46d91f6cccb1 -->|method| 1c865c39_ab25_8a5a_ffd7_14d6880ef469 72104b44_dd73_2bb4_7e67_a8a38918851d["channelActive()"] ccbda2b6_8f39_2dce_7583_46d91f6cccb1 -->|method| 72104b44_dd73_2bb4_7e67_a8a38918851d 7020c294_ab79_df1c_59b7_1fbfe1a583cd["userEventTriggered()"] ccbda2b6_8f39_2dce_7583_46d91f6cccb1 -->|method| 7020c294_ab79_df1c_59b7_1fbfe1a583cd 75ee37d2_37a9_d67d_d265_3bb4aa16044e["exceptionCaught()"] ccbda2b6_8f39_2dce_7583_46d91f6cccb1 -->|method| 75ee37d2_37a9_d67d_d265_3bb4aa16044e
Relationship Graph
Source Code
example/src/main/java/io/netty/example/mqtt/heartBeat/MqttHeartBeatClientHandler.java lines 31–89
public class MqttHeartBeatClientHandler extends ChannelInboundHandlerAdapter {
private static final String PROTOCOL_NAME_MQTT_3_1_1 = "MQTT";
private static final int PROTOCOL_VERSION_MQTT_3_1_1 = 4;
private final String clientId;
private final String userName;
private final byte[] password;
public MqttHeartBeatClientHandler(String clientId, String userName, String password) {
this.clientId = clientId;
this.userName = userName;
this.password = password.getBytes();
}
@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
// discard all messages
ReferenceCountUtil.release(msg);
}
@Override
public void channelActive(ChannelHandlerContext ctx) throws Exception {
MqttFixedHeader connectFixedHeader =
new MqttFixedHeader(MqttMessageType.CONNECT, false, MqttQoS.AT_MOST_ONCE, false, 0);
MqttConnectVariableHeader connectVariableHeader =
new MqttConnectVariableHeader(PROTOCOL_NAME_MQTT_3_1_1, PROTOCOL_VERSION_MQTT_3_1_1, true, true, false,
0, false, false, 20, MqttProperties.NO_PROPERTIES);
MqttConnectPayload connectPayload = new MqttConnectPayload(clientId,
MqttProperties.NO_PROPERTIES,
null,
null,
userName,
password);
MqttConnectMessage connectMessage =
new MqttConnectMessage(connectFixedHeader, connectVariableHeader, connectPayload);
ctx.writeAndFlush(connectMessage);
System.out.println("Sent CONNECT");
}
@Override
public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception {
if (evt instanceof IdleStateEvent) {
MqttFixedHeader pingreqFixedHeader =
new MqttFixedHeader(MqttMessageType.PINGREQ, false, MqttQoS.AT_MOST_ONCE, false, 0);
MqttMessage pingreqMessage = new MqttMessage(pingreqFixedHeader);
ctx.writeAndFlush(pingreqMessage);
System.out.println("Sent PINGREQ");
} else {
super.userEventTriggered(ctx, evt);
}
}
@Override
public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception {
cause.printStackTrace();
ctx.close();
}
}
Source
Frequently Asked Questions
What is the MqttHeartBeatClientHandler class?
MqttHeartBeatClientHandler is a class in the netty codebase, defined in example/src/main/java/io/netty/example/mqtt/heartBeat/MqttHeartBeatClientHandler.java.
Where is MqttHeartBeatClientHandler defined?
MqttHeartBeatClientHandler is defined in example/src/main/java/io/netty/example/mqtt/heartBeat/MqttHeartBeatClientHandler.java at line 31.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free