63 lines
1.3 KiB
Markdown
63 lines
1.3 KiB
Markdown
Primary filtering functionality
|
|
Dispatches to Protocols
|
|
===============================
|
|
|
|
### *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
|
|
|
|
### *class* Sponge.Protocols.bubble.filter(completeMessage, recipient, recipientNode, onodeID, todo)
|
|
|
|
Peer to peer protol
|
|
|
|
### *class* Sponge.Protocols.catch.filter(completeMessage, recipient, recipientNode, todo)
|
|
|
|
Catch exchange protocol
|
|
|
|
### *class* Sponge.Protocols.cryptography.filter(completeMessage, recipientNode, todo)
|
|
|
|
Cryptographic operations protocol
|
|
|
|
### *class* Sponge.Protocols.map.filter(completeMessage, todo)
|
|
|
|
Network mapping protocol
|