Skip to main content

MctpSerialMedium

Struct MctpSerialMedium 

Source
pub struct MctpSerialMedium;

Trait Implementations§

Source§

impl Clone for MctpSerialMedium

Source§

fn clone(&self) -> MctpSerialMedium

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for MctpSerialMedium

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Format for MctpSerialMedium

Source§

fn format(&self, f: Formatter<'_>)

Writes the defmt representation of self to fmt.
Source§

impl MctpMedium for MctpSerialMedium

Source§

type Frame = MctpSerialMediumFrame

the medium specific header and trailer for the packet
Source§

type Error = &'static str

the error type for deserialization of the medium specific header
Source§

type ReplyContext = ()

Source§

type Encoding = SerialEncoding

the byte-stuffing transform used by this medium when (de)serializing wire bytes. Stateless — see [crate::buffer_encoding]. Most media use PassthroughEncoding (no transform); media that need byte-stuffing (e.g., DSP0253 serial) supply their own impl.
Source§

fn max_message_body_size(&self) -> usize

the maximum transmission unit for the medium
Source§

fn deserialize<'buf>( &self, packet: &'buf [u8], ) -> MctpPacketResult<(Self::Frame, EncodingDecoder<'buf, Self::Encoding>), Self>

Deserialize a packet into the medium-specific header (frame) and an EncodingDecoder that wraps the inner stuffed-region bytes. Higher layers (e.g., parse_transport_header, the payload copy loop in MctpPacketContext) read decoded bytes through the returned decoder and physically cannot bypass the medium’s encoding by slicing the underlying buffer directly.
Source§

fn serialize<'buf, F>( &self, _reply_context: Self::ReplyContext, buffer: &'buf mut [u8], message_writer: F, ) -> MctpPacketResult<&'buf [u8], Self>
where F: for<'a> FnOnce(&mut EncodingEncoder<'a, Self::Encoding>) -> MctpPacketResult<(), Self>,

Serialize a packet by allowing the caller’s message_writer closure to write decoded bytes into the medium’s stuffed region through an EncodingEncoder. The medium owns its outer framing (e.g., SMBus header + PEC, DSP0253 start/end flags + FCS) and inspects the encoder’s wire_position after the closure returns to size headers/trailers and compute checksums.
Source§

impl MctpMediumFrame<MctpSerialMedium> for MctpSerialMediumFrame

Source§

impl PartialEq for MctpSerialMedium

Source§

fn eq(&self, other: &MctpSerialMedium) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for MctpSerialMedium

Source§

impl Eq for MctpSerialMedium

Source§

impl StructuralPartialEq for MctpSerialMedium

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.