in mqtt-cs/src/main/java/org/apache/rocketmq/mqtt/cs/protocol/mqtt/MqttPacketDispatcher.java [146:180]
private void _channelRead0(ChannelHandlerContext ctx, MqttMessage msg, HookResult upstreamHookResult) {
switch (msg.fixedHeader().messageType()) {
case CONNECT:
mqttConnectHandler.doHandler(ctx, (MqttConnectMessage) msg, upstreamHookResult);
break;
case PUBLISH:
mqttPublishHandler.doHandler(ctx, (MqttPublishMessage) msg, upstreamHookResult);
break;
case SUBSCRIBE:
mqttSubscribeHandler.doHandler(ctx, (MqttSubscribeMessage) msg, upstreamHookResult);
break;
case PUBACK:
mqttPubAckHandler.doHandler(ctx, (MqttPubAckMessage) msg, upstreamHookResult);
break;
case PINGREQ:
mqttPingHandler.doHandler(ctx, msg, upstreamHookResult);
break;
case UNSUBSCRIBE:
mqttUnSubscribeHandler.doHandler(ctx, (MqttUnsubscribeMessage) msg, upstreamHookResult);
break;
case PUBREL:
mqttPubRelHandler.doHandler(ctx, msg, upstreamHookResult);
break;
case PUBREC:
mqttPubRecHandler.doHandler(ctx, msg, upstreamHookResult);
break;
case PUBCOMP:
mqttPubCompHandler.doHandler(ctx, msg, upstreamHookResult);
break;
case DISCONNECT:
mqttDisconnectHandler.doHandler(ctx, msg, upstreamHookResult);
break;
default:
}
}