When the application invokes `JOIN(topic)`, the router will form a topic mesh by selecting up to `D` peers from its [local peering state](#peering-state) first examining the `fanout` map. If there are peers in `fanout[topic]`, the router will move those peers from the `fanout` map to `mesh[topic]`. If the topic is not in the `fanout` map, or if `fanout[topic]` contains fewer than `D` peers, the router will attempt to fill `mesh[topic]` with peers from `peers.announcesub[topic]` which is the set of all announcesub-capable peers it is aware of that are members of the topic.
0 commit comments