Crate umsh_cli
Source pub use events::CliEvent;pub use io::CliInput;pub use io::CliOutput;pub use logger::CliLogger;pub use logger::LogLevel;pub use logger::NullLogger;pub use session::CliError;pub use session::CliSession;
- commands
- Parsed-command enum and parser. The dispatcher lives in
crate::session. - events
- Event queue variants pushed by subscription callbacks and consumed by
CliSession::service_events. - io
- Transport-agnostic line I/O for the CLI.
- logger
- Log trait for the CLI. The core crate does not depend on
tracing or
defmt; callers that want either plug it in via the trait. - mac_cmd
- Helper for encoding a
MacCommand as an outbound payload without
touching the node crate’s public API. - peer_ref
<peer-ref> token resolution used by every peer-naming command.- session
CliSession — the driver object that owns a clone of LocalNode<M>,
a CliIo, and a CliLogger, plus the in-session state tables.- settings
- CLI-local preferences mutated via
/set. Reset on binary exit — no
durable storage. - stats
- CLI-maintained session counters. Not a node-level metrics API — just
tallies populated from subscription callbacks and around send calls.
- cli_log
- NoChannelStore
- No-op channel store — use when channel persistence is not needed.
- NoPeerStore
- No-op peer store — use when peer persistence is not needed.
- NoPowerControl
- No-op power control — use when shutdown is not implemented for the target.
- ChannelStore
- Persistent channel directory for the node layer.
- PeerStore
- Persistent peer directory for the node layer.
- PowerControl
- Optional power-control hook for higher layers (e.g. the CLI).
- DefaultCliSession
CliSession sized for typical desktop and tracker-class targets.