Expand description
Umbrella crate that re-exports the UMSH workspace surface.
In addition to re-exporting the core protocol crates, this crate defines the
Platform trait and optional runtime adapters for Tokio and Embassy.
For more details on the protocol, see the UMSH protocol specification.
For other information about the project, see the UMSH repository on GitHub.
Note This reference implementation is a work in progress and was developed with the assistance of an LLM. It should be considered experimental.
§Where to start
Most applications should begin with:
node::Hostto drive the shared MAC/runtime loopnode::LocalNodeas the per-identity send surfacenode::PeerConnectionfor peer-scoped interactions- payload-level wrappers such as
text::UnicastTextChatWrapperwhen they want app-specific convenience on top of raw packet callbacks
Lower layers remain available when you need them:
- [
mac] for packet- and radio-facing coordinator control - [
core] for protocol types and packet parsing/building - [
crypto] and [hal] for platform integrations
The intended receive boundary is low-level: node callbacks work with
node::ReceivedPacketRef, and higher-level helpers live above that boundary rather than
inside the node core.
Re-exports§
pub use umsh_chat_room as chat_room;pub use umsh_core as core;pub use umsh_crypto as crypto;pub use umsh_hal as hal;pub use umsh_mac as mac;pub use umsh_node as node;pub use umsh_text as text;pub use umsh_ulcp as ulcp_wire;pub use umsh_uri as uri;
Modules§
- embassy_
support - Embassy-friendly runtime adapters and fixed-capacity in-memory stores.
- prelude
- Curated re-exports for the most common umbrella-crate entry points.
- test_
vectors - Canonical rendering for the phase-1 protocol appendix.
- tokio_
support - Tokio-friendly runtime adapters and simple std-backed stores.
- ulcp
- Host-side client for the UMSH Local Control Protocol (ULCP).
Traits§
- Platform
- Bundle of platform-specific associated types used by the higher layers.