mirror of
https://github.com/espressif/esp-nimble.git
synced 2026-11-08 21:40:33 +00:00
nimble/ll: Simplify/refactor PDU RX flow in scanner
This refactors PDU RX flow through scanner to make it simpler and also fix some bugs. Until now both rx_isr_end and rx_pkt_in has common code for both legacy and ext adv PDUs with many nested conditions added over time so it was not too easy to follow it. Both routines are now split into few helpers, most notably have separate path for legacy and ext adv PDUs which greatly reduces number of various checks in code, like "is it a ext adv PDU?" over and over again. Once required data are extracted from PDU they are run through common routine to resolve addresses and apply all filtering policies including privacy mode which was not supported by old code. Finally, rx_pkt_in should execute faster since it relies on flags set by rx_isr_end more to strip some unnecessary processing.
This commit is contained in:
+648
-634
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user