Module mesh

Module mesh 

Source
Expand description

The host stack this tool becomes to reach a device over the mesh.

Every other part of this tool speaks ULCP down the wire to the radio it is attached to. Reaching a device across the room means borrowing that radio and becoming a node: running a host MAC over the attachment, and speaking the same ULCP grammar to the far end, carried by the Node Management binding (docs/protocol/src/app-node-management.md).

Two identities are in play and it is worth keeping them apart. The attached radio has its own device identity, which identity shows. This tool has a separate, persistent administrator identity — admin-key prints it — and a device is managed from here only once that key is listed in its PROP_DEV_ADMINS, which dev-admin add does over a bench link.

Structs§

MeshHome
What a mesh session borrowed, and how to give it back.
NodeStack
The tool as a node: a host MAC over the borrowed radio, one local node standing for the administrator identity, and the pump that keeps both moving.

Enums§

Greeting
Whether opening a session should say hello first.
Step 🔒
One step of the driver loop: what the select settled on.

Constants§

ACKS 🔒
CHANNELS 🔒
DUP 🔒
FRAME 🔒
IDENTITIES 🔒
One identity — the administrator’s. Channels and queues are sized for a tool that talks to one device at a time and holds one exchange open while it does.
OPERATION_TIMEOUT
How long the whole operation may take before the tool gives up.
PEERS 🔒
TX 🔒

Traits§

RadioErrand
Something this tool runs as a node on its own radio.

Functions§

admin_identity
Load the administrator identity, generating one the first time.
adopt_phy
The device’s live PHY, as a radio configuration.
borrowing_the_radio
Take the attachment over as this tool’s radio, run errand on it, and hand the attachment back.
build_mac
Take the radio over as this tool’s MAC.
counter_store
Open the frame-counter store the administrator identity persists to.
describe
What a failed exchange means to somebody holding the tool.
drive 🔒
The driver task: owns the borrowed radio for the life of the session, carries every request the link hands it, and gives the radio back.
load_or_create_identity 🔒
open_remote
Borrow the attached radio and open a ULCP session to target over the mesh.
open_session 🔒
Open the device handle at the far end of link.
prepare_radio
This host owns the MAC and does its own filtering, so the radio’s provisioned receive filters must not gate delivery. The mode is session-scoped and touches no provisioning.
restore_local
End a mesh session and put the local attachment back.
serve 🔒
show_admin_key
admin-key: print the public key a device must list to be managed from here.

Type Aliases§

CtlHandle
CtlHost
CtlMac
CtlPlatform