firmware/src/mesh
Erayd 9a8aeb25ab
Some checks are pending
CI / setup (all) (push) Waiting to run
CI / setup (check) (push) Waiting to run
CI / version (push) Waiting to run
CI / check (push) Blocked by required conditions
CI / build (push) Blocked by required conditions
CI / build-debian-src (push) Waiting to run
CI / package-pio-deps-native-tft (push) Waiting to run
CI / test-native (push) Waiting to run
CI / docker (alpine, native, linux/amd64) (push) Waiting to run
CI / docker (alpine, native, linux/arm64) (push) Waiting to run
CI / docker (alpine, native-tft, linux/amd64) (push) Waiting to run
CI / docker (debian, native, linux/amd64) (push) Waiting to run
CI / docker (debian, native, linux/arm/v7) (push) Waiting to run
CI / docker (debian, native, linux/arm64) (push) Waiting to run
CI / docker (debian, native-tft, linux/amd64) (push) Waiting to run
CI / gather-artifacts (esp32) (push) Blocked by required conditions
CI / gather-artifacts (esp32c3) (push) Blocked by required conditions
CI / gather-artifacts (esp32c6) (push) Blocked by required conditions
CI / gather-artifacts (esp32s3) (push) Blocked by required conditions
CI / gather-artifacts (nrf52840) (push) Blocked by required conditions
CI / gather-artifacts (rp2040) (push) Blocked by required conditions
CI / gather-artifacts (rp2350) (push) Blocked by required conditions
CI / gather-artifacts (stm32) (push) Blocked by required conditions
CI / release-artifacts (push) Blocked by required conditions
CI / release-firmware (esp32) (push) Blocked by required conditions
CI / release-firmware (esp32c3) (push) Blocked by required conditions
CI / release-firmware (esp32c6) (push) Blocked by required conditions
CI / release-firmware (esp32s3) (push) Blocked by required conditions
CI / release-firmware (nrf52840) (push) Blocked by required conditions
CI / release-firmware (rp2040) (push) Blocked by required conditions
CI / release-firmware (rp2350) (push) Blocked by required conditions
CI / release-firmware (stm32) (push) Blocked by required conditions
CI / publish-firmware (push) Blocked by required conditions
Add a general-purpose packet cache (#8341)
* Add general-purpose packet cache

This commit adds a caching system that will save packet data in a much
more compact form than the regular MeshPacket protobuf. It cannot be
worked with directly to the same degree (although the packet header is
available), but consumes *much* less memory, and as a result can be used
to temporarily store large numbers of packets.

Cached packets can be retrieved either by their (from, id) tuple, or by
their hash.

This cache is a pre-requisite for the upcoming packet replay feature.

* Remove debug initialiser

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Fix ordering

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Add missing size assignment

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Add comments for hash & bucket macros

* Make it clear that this field stores a map of the original data

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2025-10-14 19:22:45 -05:00
..
api
compression
eth
generated
http Revert "develop --> Master" (#8244) 2025-10-07 06:00:09 -05:00
raspihttp
udp
wifi
aes-ccm.cpp Trunk 2025-07-05 12:56:29 -05:00
aes-ccm.h
Channels.cpp
Channels.h
CryptoEngine.cpp
CryptoEngine.h Remove unnecessary memcpy for PKI crypto (#5608) 2024-12-19 19:14:27 -06:00
Default.cpp
Default.h userPrefs: Set default ringtone nag time (#7314) 2025-07-12 16:26:25 -05:00
FloodingRouter.cpp
FloodingRouter.h Revert "develop --> Master" (#8244) 2025-10-07 06:00:09 -05:00
InterfacesTemplates.cpp
LLCC68Interface.cpp
LLCC68Interface.h
LR11x0Interface.cpp
LR11x0Interface.h Calculate airtime of transmitted and received packets separately (#8205) 2025-10-04 05:29:25 -05:00
LR1110Interface.cpp
LR1110Interface.h Allow for better target level Radiolib exclude plumbing (#4906) 2024-09-30 05:14:22 -05:00
LR1120Interface.cpp
LR1120Interface.h Allow for better target level Radiolib exclude plumbing (#4906) 2024-09-30 05:14:22 -05:00
LR1121Interface.cpp
LR1121Interface.h
MemoryPool.h
mesh-pb-constants.cpp Cherrypick "add more locking for shared SPI devices (#5595) " (#5728) 2025-01-03 10:05:26 +08:00
mesh-pb-constants.h Fix DRAM overflow on old esp32 targets 2025-09-13 20:14:10 -05:00
MeshModule.cpp
MeshModule.h
MeshPacketQueue.cpp Add dropped packet count to LocalStats (#8207) 2025-10-04 08:13:58 -05:00
MeshPacketQueue.h Add dropped packet count to LocalStats (#8207) 2025-10-04 08:13:58 -05:00
MeshRadio.h
MeshService.cpp Finish deprecating the Repeater role behavior (#8144) 2025-09-28 15:30:53 -05:00
MeshService.h
MeshTypes.h
NextHopRouter.cpp
NextHopRouter.h
NodeDB.cpp
NodeDB.h
PacketCache.cpp Add a general-purpose packet cache (#8341) 2025-10-14 19:22:45 -05:00
PacketCache.h Add a general-purpose packet cache (#8341) 2025-10-14 19:22:45 -05:00
PacketHistory.cpp
PacketHistory.h Merge branch 'develop' into assymRelay 2025-09-25 20:01:35 +02:00
PhoneAPI.cpp Ble reconnect prefetch bug fix, plus some speed enhancements (#8324) 2025-10-13 06:32:05 -05:00
PhoneAPI.h
PointerQueue.h
ProtobufModule.cpp
ProtobufModule.h More reduction (#5256) 2024-11-04 19:15:59 -06:00
RadioInterface.cpp Fix erroneous limiting of power in Ham Mode (#8322) 2025-10-13 07:50:57 -05:00
RadioInterface.h Calculate airtime of transmitted and received packets separately (#8205) 2025-10-04 05:29:25 -05:00
RadioLibInterface.cpp Add dropped packet count to LocalStats (#8207) 2025-10-04 08:13:58 -05:00
RadioLibInterface.h
RadioLibRF95.cpp remove newline from logging statements. (#5022) 2024-10-14 15:11:43 +11:00
RadioLibRF95.h
ReliableRouter.cpp Calculate airtime of transmitted and received packets separately (#8205) 2025-10-04 05:29:25 -05:00
ReliableRouter.h Reliable ACKs for DMs (#8165) 2025-10-01 15:31:53 -05:00
RF95Interface.cpp
RF95Interface.h
Router.cpp
Router.h
SinglePortModule.h
StaticPointerQueue.h
STM32WLE5JCInterface.cpp Add RF switch settings for STM32WL variants (#7813) 2025-09-04 06:38:05 -05:00
STM32WLE5JCInterface.h
StreamAPI.cpp Chainsaw took too much off the top 2025-08-27 09:54:39 -05:00
StreamAPI.h
SX126xInterface.cpp Use common power amp definition for Heltec v4 and Heltec Tracker v2 2025-09-30 08:30:18 +10:00
SX126xInterface.h
SX128xInterface.cpp Portduino config refactor (#7796) 2025-09-19 08:24:35 -05:00
SX128xInterface.h
SX1262Interface.cpp
SX1262Interface.h
SX1268Interface.cpp
SX1268Interface.h Allow for better target level Radiolib exclude plumbing (#4906) 2024-09-30 05:14:22 -05:00
SX1280Interface.cpp
SX1280Interface.h
Throttle.cpp Refactor and consolidate time window logic (#4826) 2024-09-23 08:58:14 -05:00
Throttle.h
TypeConversions.cpp
TypeConversions.h User to UserLite in NodeDB (#4438) 2024-08-11 17:22:11 -05:00
TypedQueue.h Initial commit of a fuzzer for Meshtastic (#5790) 2025-01-16 18:42:21 -06:00