pub async fn bring_up<CS: CounterStore + 'static>(
mac_cell: &'static DeviceNodeMacCell<CS>,
identity_secret: &[u8; 32],
node_seed: [u8; 32],
t_frame_ms: u32,
counters: CS,
duty: &'static DutyLedger,
hooks: NodeHooks,
) -> DeviceNodeParts<CS>Expand description
Construct the MAC around the device identity and wire up the node. Call at most once. The identity is never absent — boot generates and persists one when the journal is empty — so there is no “unprovisioned” path here.
t_frame_ms is the worst-case airtime hint for the MAC scheduler.
The caller spawns the loops and must do so promptly: NODE_UP is set
here, so a PROP_IDENT read arriving between this returning and the
spawns would wait on the signal.