Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This introduces a completely new packet structure and packet parsing logic that allows for full routing capabilities without having to transmit routing table packets at regular intervals. Changes were discussed in depth in the following issue, sudomesh/disaster-radio#57 (comment). Most changes to the protocol have been documented on the protocol wiki page.
The basic idea is that the packet header now contains enough information for nodes to build routes during normal operation (i.e. sending messages user-to-user), such that airtime can be reserved for actual communication instead of being taken up with large control messages.
Routing table packets (control messages) are, currently, still enabled by default, but they can be disabled by setting the routing interval to zero with
LL2.setInterval(0)
.There are some considerations when choosing between the reactive (DSR/packet-driven) routing and the proactive (routing table driven) routing options.