-
Notifications
You must be signed in to change notification settings - Fork 828
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature Request]: Routers behave as clients when they see another router, so clients will not see both and retransmit. #4590
Comments
Unfortunately this is an edge case, which indeed may happen, but it doesn't matter that there are two routers, it can happen with one router and even with clients only. Take this scenario for example (taken from #2856): Here node 1 is rebroadcasting the packet from 0, because it has the worst SNR. Then 2 won't rebroadcast, because it hears 1 doing so already. However, in this case it would have been better if 2 rebroadcasted it, such that it reaches 3. In your case it's like your |
Thank you @GUVWAF that's a very clear summary. |
Can we expand on why this is an edge case? |
Maybe not really an edge case, but something that can happen in a specific scenario like this. In a slightly different scenario, where there would be another node that can hear 0 but not 1, it would also rebroadcast and 3 could receive that. There's a trade-off between reliability and redundancy here. If every node would rebroadcast, this scenario would still work, as long as it doesn't create collisions. |
How specific is a case of 2 routers in earshot? |
But how would that create this issue in scenarios where it would otherwise still work? |
Seems related: https://en.m.wikipedia.org/wiki/Hidden_node_problem |
The hidden node problem is indeed what causes collisions. This is more similar to the "Exposed node problem", where you prevent from sending when someone else did, while your neighbor didn't receive the other's transmission. |
Platform
other
Description
My understanding is that a client will not flood route if it sees a retransmit.
In the scenario that an actor operates 2 routers, a client that hears both will not flood route.
This means a router will break any client mutes behind a client and as such breaks a mesh, it would require router mode for any intermediate hop like a roof top.
I feel an option would be a router should act as a client if it sees another router in hop 0.
Happy to be wrong, thanks for all the love. Meshtastic is a great community.
The text was updated successfully, but these errors were encountered: