Skip to main content

UslpFrameWriter

Struct UslpFrameWriter 

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

Accumulates packets into USLP 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> UslpFrameWriter<BUF>

Source

pub fn new(config: UslpFrameWriterConfig) -> Self

Creates a new USLP frame writer.

Trait Implementations§

Source§

impl<const BUF: usize> FrameWrite for UslpFrameWriter<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 UslpFrameWriter<BUF>

§

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

§

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

§

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

§

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

§

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

§

impl<const BUF: usize> UnwindSafe for UslpFrameWriter<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.