Skip to main content

SmbusEspiMedium

Struct SmbusEspiMedium 

Source
pub struct SmbusEspiMedium;

Trait Implementations§

Source§

impl Clone for SmbusEspiMedium

Source§

fn clone(&self) -> SmbusEspiMedium

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 SmbusEspiMedium

Source§

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

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

impl Format for SmbusEspiMedium

Source§

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

Writes the defmt representation of self to fmt.
Source§

impl MctpMedium for SmbusEspiMedium

Source§

type Frame = SmbusEspiMediumFrame

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 = SmbusEspiReplyContext

Source§

type Encoding = PassthroughEncoding

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 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§

fn max_message_body_size(&self) -> usize

the maximum transmission unit for the medium
Source§

impl MctpMediumFrame<SmbusEspiMedium> for SmbusEspiMediumFrame

Source§

impl PartialEq for SmbusEspiMedium

Source§

fn eq(&self, other: &SmbusEspiMedium) -> 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 SmbusEspiMedium

Source§

impl Eq for SmbusEspiMedium

Source§

impl StructuralPartialEq for SmbusEspiMedium

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.