MqttHeartBeatBrokerHandler Class — netty Architecture
Architecture documentation for the MqttHeartBeatBrokerHandler class in MqttHeartBeatBrokerHandler.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD fef21bb2_cd7b_3e63_44fc_7bd83af8b9b8["MqttHeartBeatBrokerHandler"] 5ffaee7d_2224_7a7a_a03f_bb392bdfca8f["MqttHeartBeatBrokerHandler.java"] fef21bb2_cd7b_3e63_44fc_7bd83af8b9b8 -->|defined in| 5ffaee7d_2224_7a7a_a03f_bb392bdfca8f 3f2ef8c4_e36b_ae6c_fc62_2b6b13b38a5e["MqttHeartBeatBrokerHandler()"] fef21bb2_cd7b_3e63_44fc_7bd83af8b9b8 -->|method| 3f2ef8c4_e36b_ae6c_fc62_2b6b13b38a5e 95c3acb0_49ad_0c82_8d23_9ac5ee200095["channelRead()"] fef21bb2_cd7b_3e63_44fc_7bd83af8b9b8 -->|method| 95c3acb0_49ad_0c82_8d23_9ac5ee200095 4588de81_540f_9b17_1895_cacff91abda9["userEventTriggered()"] fef21bb2_cd7b_3e63_44fc_7bd83af8b9b8 -->|method| 4588de81_540f_9b17_1895_cacff91abda9 a9b97fa8_9ff1_ae28_7130_642b92e28c39["exceptionCaught()"] fef21bb2_cd7b_3e63_44fc_7bd83af8b9b8 -->|method| a9b97fa8_9ff1_ae28_7130_642b92e28c39
Relationship Graph
Source Code
example/src/main/java/io/netty/example/mqtt/heartBeat/MqttHeartBeatBrokerHandler.java lines 32–82
@Sharable
public final class MqttHeartBeatBrokerHandler extends ChannelInboundHandlerAdapter {
public static final MqttHeartBeatBrokerHandler INSTANCE = new MqttHeartBeatBrokerHandler();
private MqttHeartBeatBrokerHandler() {
}
@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
MqttMessage mqttMessage = (MqttMessage) msg;
System.out.println("Received MQTT message: " + mqttMessage);
switch (mqttMessage.fixedHeader().messageType()) {
case CONNECT:
MqttFixedHeader connackFixedHeader =
new MqttFixedHeader(MqttMessageType.CONNACK, false, MqttQoS.AT_MOST_ONCE, false, 0);
MqttConnAckVariableHeader mqttConnAckVariableHeader =
new MqttConnAckVariableHeader(MqttConnectReturnCode.CONNECTION_ACCEPTED, false);
MqttConnAckMessage connack = new MqttConnAckMessage(connackFixedHeader, mqttConnAckVariableHeader);
ctx.writeAndFlush(connack);
break;
case PINGREQ:
MqttFixedHeader pingreqFixedHeader = new MqttFixedHeader(MqttMessageType.PINGRESP, false,
MqttQoS.AT_MOST_ONCE, false, 0);
MqttMessage pingResp = new MqttMessage(pingreqFixedHeader);
ctx.writeAndFlush(pingResp);
break;
case DISCONNECT:
ctx.close();
break;
default:
System.out.println("Unexpected message type: " + mqttMessage.fixedHeader().messageType());
ReferenceCountUtil.release(msg);
ctx.close();
}
}
@Override
public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception {
System.out.println("Channel heartBeat lost");
if (evt instanceof IdleStateEvent && IdleState.READER_IDLE == ((IdleStateEvent) evt).state()) {
ctx.close();
}
}
@Override
public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception {
cause.printStackTrace();
ctx.close();
}
}
Source
Frequently Asked Questions
What is the MqttHeartBeatBrokerHandler class?
MqttHeartBeatBrokerHandler is a class in the netty codebase, defined in example/src/main/java/io/netty/example/mqtt/heartBeat/MqttHeartBeatBrokerHandler.java.
Where is MqttHeartBeatBrokerHandler defined?
MqttHeartBeatBrokerHandler is defined in example/src/main/java/io/netty/example/mqtt/heartBeat/MqttHeartBeatBrokerHandler.java at line 32.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free