gitextract_nylx23xb/ ├── .dockerignore ├── .gitignore ├── Dockerfile ├── LICENSE ├── README.md ├── README_CN.md ├── jmqtt-acceptance/ │ ├── README.md │ └── pom.xml ├── jmqtt-admin/ │ └── pom.xml ├── jmqtt-broker/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── jmqtt/ │ │ │ └── broker/ │ │ │ ├── BrokerController.java │ │ │ └── BrokerStartup.java │ │ └── resources/ │ │ ├── bin/ │ │ │ ├── jmqttshutdown │ │ │ └── runbroker.sh │ │ └── conf/ │ │ ├── client.cer │ │ ├── jmqtt.properties │ │ ├── jmqtt.sql │ │ ├── log4j2.xml │ │ └── server.pfx │ └── test/ │ └── java/ │ └── org/ │ └── jmqtt/ │ └── broker/ │ └── test/ │ └── Runtime.java ├── jmqtt-bus/ │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── org/ │ │ └── jmqtt/ │ │ └── bus/ │ │ ├── Authenticator.java │ │ ├── BusController.java │ │ ├── ClusterEventManager.java │ │ ├── DeviceMessageManager.java │ │ ├── DeviceSessionManager.java │ │ ├── DeviceSubscriptionManager.java │ │ ├── enums/ │ │ │ ├── ClusterEventCodeEnum.java │ │ │ ├── DeviceOnlineStateEnum.java │ │ │ ├── MessageAckEnum.java │ │ │ ├── MessageFlowEnum.java │ │ │ ├── MessageSourceEnum.java │ │ │ └── TransportProtocolEnum.java │ │ ├── event/ │ │ │ ├── EventCenter.java │ │ │ └── GatewayListener.java │ │ ├── impl/ │ │ │ ├── ClusterEventManagerImpl.java │ │ │ ├── DefaultAuthenticator.java │ │ │ ├── DeviceMessageManagerImpl.java │ │ │ ├── DeviceSessionManagerImpl.java │ │ │ └── DeviceSubscriptionManagerImpl.java │ │ ├── model/ │ │ │ ├── ClusterEvent.java │ │ │ ├── DeviceInboxMessage.java │ │ │ ├── DeviceMessage.java │ │ │ ├── DeviceSession.java │ │ │ └── DeviceSubscription.java │ │ ├── store/ │ │ │ ├── AbstractDBStore.java │ │ │ ├── DBCallback.java │ │ │ ├── DBUtils.java │ │ │ ├── daoobject/ │ │ │ │ ├── DeviceInboxMessageDO.java │ │ │ │ ├── EventDO.java │ │ │ │ ├── MessageDO.java │ │ │ │ ├── RetainMessageDO.java │ │ │ │ ├── SessionDO.java │ │ │ │ └── SubscriptionDO.java │ │ │ └── mapper/ │ │ │ ├── ClientInboxMessageMapper.java │ │ │ ├── EventMapper.java │ │ │ ├── MessageMapper.java │ │ │ ├── RetainMessageMapper.java │ │ │ ├── SessionMapper.java │ │ │ └── SubscriptionMapper.java │ │ └── subscription/ │ │ ├── CNode.java │ │ ├── CTrie.java │ │ ├── CTrieSubscriptionMatcher.java │ │ ├── DefaultSubscriptionTreeMatcher.java │ │ ├── DumpTreeVisitor.java │ │ ├── INode.java │ │ ├── SubscriptionCounterVisitor.java │ │ ├── SubscriptionMatcher.java │ │ ├── TNode.java │ │ ├── Token.java │ │ ├── Topic.java │ │ └── model/ │ │ └── Subscription.java │ └── test/ │ └── java/ │ └── org/ │ └── jmqtt/ │ ├── AppTest.java │ └── bus/ │ └── subscription/ │ ├── CTrieSubscriptionMatcherMatchingTest.java │ ├── CTrieTest.java │ └── TopicTest.java ├── jmqtt-doc/ │ ├── README.md │ ├── docs/ │ │ ├── README.md │ │ └── TEST_REPORT.md │ └── pom.xml ├── jmqtt-example/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── org/ │ └── jmqtt/ │ ├── java/ │ │ ├── Consumer.java │ │ └── Producer.java │ └── websocket/ │ ├── paho-mqtt-min.js │ ├── paho-mqtt.js │ └── webSocket.html ├── jmqtt-manager ├── jmqtt-mqtt/ │ ├── README.md │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── org/ │ └── jmqtt/ │ └── mqtt/ │ ├── ConnectManager.java │ ├── MQTTConnection.java │ ├── MQTTConnectionFactory.java │ ├── MQTTServer.java │ ├── codec/ │ │ ├── ByteBuf2WebSocketEncoder.java │ │ └── WebSocket2ByteBufDecoder.java │ ├── event/ │ │ └── MqttEventListener.java │ ├── model/ │ │ └── MqttTopic.java │ ├── netty/ │ │ ├── MqttNettyUtils.java │ │ ├── MqttRemotingServer.java │ │ ├── NettyMqttHandler.java │ │ └── NettySslHandler.java │ ├── protocol/ │ │ ├── RequestProcessor.java │ │ └── impl/ │ │ ├── ConnectProcessor.java │ │ ├── DisconnectProcessor.java │ │ ├── PingProcessor.java │ │ ├── PubAckProcessor.java │ │ ├── PubCompProcessor.java │ │ ├── PubRecProcessor.java │ │ ├── PubRelProcessor.java │ │ ├── PublishProcessor.java │ │ ├── SubscribeProcessor.java │ │ └── UnSubscribeProcessor.java │ ├── retain/ │ │ ├── RetainMessageHandler.java │ │ └── impl/ │ │ └── RetainMessageHandlerImpl.java │ ├── session/ │ │ └── MqttSession.java │ └── utils/ │ ├── MqttMessageUtil.java │ └── MqttMsgHeader.java ├── jmqtt-support/ │ ├── README.md │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── org/ │ └── jmqtt/ │ └── support/ │ ├── config/ │ │ ├── BrokerConfig.java │ │ └── NettyConfig.java │ ├── exception/ │ │ ├── RemotingConnectException.java │ │ ├── RemotingException.java │ │ ├── RemotingSendRequestException.java │ │ ├── RemotingTimeoutException.java │ │ └── RemotingTooMuchRequestException.java │ ├── helper/ │ │ ├── MixAll.java │ │ ├── Pair.java │ │ ├── RejectHandler.java │ │ └── ThreadFactoryImpl.java │ ├── log/ │ │ ├── JmqttLogger.java │ │ └── LogUtil.java │ └── remoting/ │ ├── RemotingHelper.java │ └── RemotingService.java ├── jmqtt-tcp/ │ ├── README.md │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── org/ │ └── jmqtt/ │ └── App.java └── pom.xml