1.7 KiB
1.7 KiB
base: Primary filtering functionality
class Sponge.base.Filter(cache, onodeID, todo, cLog)
Packet filtering orchestration
- cLog
- Reference to run.Node.cLog for logging
- cache: Daisy.Cache.Cache
- Reference to our Daisy Cache instance
- completed: list
- List of completed messages IDs
- todo
- Reference to list of actions to do in the Node
- onodeID
- PierMesh node ID
cache
Messages is temporary storage for unfinished messages
mCheck(payload: bytes)
Check if payload bytes are msgpack encoded, otherwise skip
async protoMap(protocolID: int)
Get protocol from protocol ID using the mlookup table
async protoRoute(completeMessage: dict)
Route message to proper protocol handler
selfCheck(packet)
Check if this is a self packet, if so skip
async sieve(packet)
Base filtering logic, takes a single MeshTastic packet
Protocols
async bubble.filter(recipient, recipientNode, onodeID, todo)
Peer to peer protol
async catch.filter(recipient, recipientNode, todo)
Catch exchange protocol
async cryptography.filter(recipientNode, todo)
Cryptographic operations protocol
async map.filter(todo)
Network mapping protocol