Crate mctp_estack

Source
Expand description

§MCTP Stack

This crate provides a MCTP stack that can be embedded in other programs or devices.

A Router object lets programs use a Stack with MCTP transport binding links. Each Port handles transmitting and receiving packets independently. Messages destined for the stack’s own EID will be passed to applications.

Applications can create router::RouterAsyncListener and router::RouterAsyncReqChannel instances to communicate over MCTP. Those implement the standard mctp crate async traits.

The IO-less Stack handles MCTP message formatting and parsing, independent of any particular MCTP transport binding.

§Configuration

mctp-estack uses fixed sizes to be suitable on no-alloc platforms. These can be configured at build time, see config

Re-exports§

pub use router::Router;

Modules§

config
Build-time configuration and defaults
control
MCTP Control Protocol implementation
fragment
Packet Fragmentation
i2c
MCTP over I2C transport binding
router
MCTP Routing
serial
A MCTP serial transport binding, DSP0253
usb
MCTP over USB transport binding

Structs§

AppCookie
An opaque identifier that applications can use to associate responses.
MctpMessage
ReceiveHandle
A handle to a received message.
Stack
Low level MCTP stack.
Vec
Re-exported so that callers can use the same heapless version.

Constants§

DEFERRED_TIMEOUT
Timeout for get_deferred().
TIMEOUT_INTERVAL
Timeout granularity.