Struct BufAtMost512

Source
pub struct BufAtMost512<'b>(/* private fields */);
Expand description

Buffer, that is at most 512 bytes in size.

In TFTP terms, a data buffer that is exactly 512 bytes in len means, that client should await for at least one more data block until finally receiving “incomplete” buffer with less than 512 bytes len. You can use is_incomplete to conveniently check for such a situation.

Implementations§

Source§

impl<'b> BufAtMost512<'b>

Source

pub fn is_incomplete(&self) -> bool

Check if buffer is less than 512 bytes in size.

Trait Implementations§

Source§

impl<'b> AsRef<[u8]> for BufAtMost512<'b>

Source§

fn as_ref(&self) -> &'b [u8]

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl<'b> Debug for BufAtMost512<'b>

Source§

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

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

impl<'b> From<&'b [u8; 512]> for BufAtMost512<'b>

Source§

fn from(buf: &'b [u8; 512]) -> Self

Converts to this type from the input type.
Source§

impl<'b> TryFrom<&'b [u8]> for BufAtMost512<'b>

Source§

type Error = BufLenIsGreaterThan512

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

fn try_from(buf: &'b [u8]) -> Result<Self, Self::Error>

Performs the conversion.

Auto Trait Implementations§

§

impl<'b> Freeze for BufAtMost512<'b>

§

impl<'b> RefUnwindSafe for BufAtMost512<'b>

§

impl<'b> Send for BufAtMost512<'b>

§

impl<'b> Sync for BufAtMost512<'b>

§

impl<'b> Unpin for BufAtMost512<'b>

§

impl<'b> UnwindSafe for BufAtMost512<'b>

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, 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.