Skip to main content

TmFrameWriter

Struct TmFrameWriter 

Source
pub struct TmFrameWriter<const BUF: usize> { /* private fields */ }
Expand description

Accumulates packets into TM transfer frames.

Owns its frame buffer internally (sized by BUF). Packets are pushed directly into the buffer at the correct offset. finish() stamps the header and returns a borrow of the completed frame.

Implementations§

Source§

impl<const BUF: usize> TmFrameWriter<BUF>

Source

pub fn new(config: TmFrameWriterConfig) -> Self

Creates a new TM frame writer.

Trait Implementations§

Source§

impl<const BUF: usize> FrameWrite for TmFrameWriter<BUF>

Source§

type Error = BuildError

Error type for frame construction.
Source§

fn is_empty(&self) -> bool

Returns true if no packets have been pushed yet.
Source§

fn push(&mut self, data: &[u8]) -> Result<(), PushError>

Push a packet into the frame at the current offset.
Source§

fn finish(&mut self) -> Result<&[u8], BuildError>

Stamp the frame header and return the finished frame. Resets internal state for the next frame.

Auto Trait Implementations§

§

impl<const BUF: usize> Freeze for TmFrameWriter<BUF>

§

impl<const BUF: usize> RefUnwindSafe for TmFrameWriter<BUF>

§

impl<const BUF: usize> Send for TmFrameWriter<BUF>

§

impl<const BUF: usize> Sync for TmFrameWriter<BUF>

§

impl<const BUF: usize> Unpin for TmFrameWriter<BUF>

§

impl<const BUF: usize> UnsafeUnpin for TmFrameWriter<BUF>

§

impl<const BUF: usize> UnwindSafe for TmFrameWriter<BUF>

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> 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> Same for T

Source§

type Output = T

Should always be Self
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.