pub async fn run<A, S, const TXQ: usize, M, const RX: usize, const TX: usize, E>(
session: Session<A, S, TXQ>,
boot_snapshot: Option<&[u8]>,
boot_identity: Option<[u8; 32]>,
rt: DeviceRuntime<M, RX, TX>,
env: E,
) -> !Expand description
Drive the ULCP session forever: restore persisted state, then
select over host frames, radio receptions, and transmit completions,
executing every session effect through the board’s DeviceEnv.
The caller constructs the Session with its board profile
(SessionConfig) and boot status, mounts its journals, and hands the
stored payloads in; the driver owns everything after that.