-
-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Platform
Cross-Platform
Description
The maximum number of active nodes is used in default.cpp, but it is limited by the maximum number of nodes in the nodeDB. For very large meshes, this means that a node has no way to know whether they have an audience of 200 or 2000 nodes when they send a broadcast telemetry packet, for example.
A more effective way to estimate the number of nodes is needed. Following discussion, this could take one of the following forms:
- Bloom filter with a modest 12-bit hash, and a function to iterate periodically.
- As above, but much larger hash to give a more accurate number
- Other estimates using advanced techniques, e.g. LogLog
- Count a representative sample and apply a logical scaling function to give the estimated mesh size.
Other important KPIs for the mesh size would be (in no particular order):
- Estimated mesh size (as above)
- Number of immediate neighbours (zero hops)
- Number of approximate neighbours (one or zero hops away - to account for varying RF signal causing assymetric links)
- Each of the above would need to be repeated for various time intervals, to allow the node and/or operator to consider the overall trends and decide how to act based on that.
Counts 2 & 3 (zero & "near-zero") neighbour counts could be used to help #8114 get closed, by deciding how to spend airtime based on adjacent nodes.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request
Type
Projects
Status
No status