codec無外乎就是encoder和decoder,無外乎就是把客戶端發(fā)過來的mqtt字節(jié)碼轉(zhuǎn)換成mqtt消息的對象,把服務(wù)端發(fā)出去的mqtt對象成字節(jié)碼。所以我們只是列個兩個簡單的類圖即可。
encoders
這里寫圖片描述
MqttMessageEncoder持有上述所有*MessageEncdoer,根據(jù)message類型調(diào)用不同的類去講消息轉(zhuǎn)換成字節(jié)碼
decoders
這里寫圖片描述
MqttMessageDecoder持有上述所有MessageDecoder,根據(jù)mqtt固定表頭,確定是不同的消息,調(diào)用不同的MessageDecoder去講字節(jié)碼轉(zhuǎn)換成mqtt message對象。
因為由兩個版本,所以ConnectMessageDecoder分別使用不同版本的MessageDecoder去處理。