新年10个Flag实现中~
访问量
548.9K
文章数
120
运行天
710
一、M12简介Moquette0.12(以下简称M12)的订阅树实现在moquette-0.12/broker/src/main/java/io/moquette/broker/subscriptions,包括:订阅树版本 M10 M12  订阅树增删改查SubscriptionDirectory CTrieSubscriptionDirectory 订阅树 - CTrie 片段 Token Token 主题 Topic Topic 订阅信息 Subscription Subscription 普通节点 
一、M10简介Moquette0.10(以下简称M10)的订阅树实现在moquette-0.10/broker/src/main/java/io/moquette/spi/impl/subscriptions,包括:SubscriptionsDirectory:订阅树的增删改查Token:片段,由topicFilter按“/”分割而成的最小字符串单位Topic:主题/主题过滤器,包含一系列方法,比如比较主题和主题过滤器是否匹配Subscription:订阅信息,{clientId,topicFilter,qos,active}TreeNode:树节点查看源码的时候应该从SubscriptionsDirectory开始阅读。二、M10订阅树表示假设有如下订阅信息: 节点编号 
一、MQTT主题和主题过滤器匹配需求MQTT协议规定,客户端可以订阅(Subscribe)主题过滤器(TopicFilter),主题过滤器可能为:完全精确的主题过滤器。例如:abc/def/123含有单层通配符(+,SINGLE)的主题过滤器。例如:abc/+/123含有多层通配符(#,MULTI)的主题过滤器。例如:abc/#同时,客户端还可以向某个主题(Topic)发布(Publish)消息,比如abc/def/123,主题不能含有通配符。MQTTBroker需要查询有哪些客户端订阅了匹配这个主题的主题过滤器,并将消息发送给它们。例如下图所示情况:客户端X是发布者,将数据发布到主题"abc/def/123";客户端A、B、C、D都是订阅者,但只有A、B、C订阅的主题过滤器和该主题匹配:A
1