Struct EsbHeaderBuilder

Source
pub struct EsbHeaderBuilder(/* private fields */);
Expand description

A builder for an EsbHeader structure

The builder is converted into an EsbHeader by calling the check() method.

§Example

use esb::EsbHeaderBuilder;

let header_result = EsbHeaderBuilder::default()
    .max_payload(252)
    .pid(0)
    .pipe(0)
    .no_ack(true)
    .check();

assert!(header_result.is_ok());

§Default Header Contents

By default, the following settings will be used:

FieldDefault Value
pid0
no_acktrue
length0
pipe0

Implementations§

Source§

impl EsbHeaderBuilder

Source

pub fn pipe(self, pipe: u8) -> Self

Set the pipe. Must be in the range 0..=7.

Source

pub fn max_payload(self, max_payload: u8) -> Self

Set the max payload. Must be in the range 0..=252.

Source

pub fn no_ack(self, no_ack: bool) -> Self

Enable/disable acknowledgment

Source

pub fn pid(self, pid: u8) -> Self

Set the pid. Must be in the range 0..=3.

Source

pub fn check(self) -> Result<EsbHeader, Error>

Finalize the header.

If the set parameters are out of range, an error will be returned.

Trait Implementations§

Source§

impl Clone for EsbHeaderBuilder

Source§

fn clone(&self) -> EsbHeaderBuilder

Returns a copy 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 EsbHeaderBuilder

Source§

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

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

impl Default for EsbHeaderBuilder

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl PartialEq for EsbHeaderBuilder

Source§

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

Source§

impl StructuralPartialEq for EsbHeaderBuilder

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.