Skip to main content

TcFrameWriter

Struct TcFrameWriter 

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

Accumulates packets into TC 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> TcFrameWriter<BUF>

Source

pub fn new(config: TcFrameWriterConfig) -> Self

Creates a new TC frame writer.

Trait Implementations§

Source§

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

§

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

§

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

§

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

§

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

§

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

§

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