Struct atat::ClientBuilder[][src]

pub struct ClientBuilder<Tx, T, U, D, BufLen, UrcCapacity> where
    Tx: Write<u8>,
    T: CountDown,
    T::Time: From<u32>,
    U: UrcMatcher,
    D: Digester,
    BufLen: ArrayLength<u8>,
    UrcCapacity: ArrayLength<Vec<u8, BufLen>>, 
{ /* fields omitted */ }

Builder to set up a Client and IngressManager pair.

Create a new builder through the new method.

Implementations

impl<Tx, T, BufLen, UrcCapacity> ClientBuilder<Tx, T, DefaultUrcMatcher, DefaultDigester, BufLen, UrcCapacity> where
    Tx: Write<u8>,
    T: CountDown,
    T::Time: From<u32>,
    BufLen: ArrayLength<u8>,
    UrcCapacity: ArrayLength<Vec<u8, BufLen>>, 
[src]

pub fn new(serial_tx: Tx, timer: T, config: Config) -> Self[src]

Create a builder for new Atat client instance.

The serial_tx type must implement the embedded_hal serial::Write<u8> trait while the timer must implement the timer::CountDown trait.

impl<Tx, T, U, D, BufLen, UrcCapacity> ClientBuilder<Tx, T, U, D, BufLen, UrcCapacity> where
    Tx: Write<u8>,
    T: CountDown,
    T::Time: From<u32>,
    U: UrcMatcher,
    D: Digester,
    BufLen: ArrayLength<u8>,
    UrcCapacity: ArrayLength<Vec<u8, BufLen>>, 
[src]

pub fn with_custom_urc_matcher<U2: UrcMatcher>(
    self,
    matcher: U2
) -> ClientBuilder<Tx, T, U2, D, BufLen, UrcCapacity>
[src]

Use a custom UrcMatcher implementation.

pub fn with_custom_digester<D2: Digester>(
    self,
    digester: D2
) -> ClientBuilder<Tx, T, U, D2, BufLen, UrcCapacity>
[src]

Use a custom Digester implementation.

pub fn build(
    self,
    queues: Queues<BufLen, UrcCapacity>
) -> (Client<Tx, T, BufLen, UrcCapacity>, IngressManager<BufLen, D, U, UrcCapacity>)
[src]

Set up and return a Client and IngressManager pair.

Auto Trait Implementations

impl<Tx, T, U, D, BufLen, UrcCapacity> Send for ClientBuilder<Tx, T, U, D, BufLen, UrcCapacity> where
    BufLen: Send,
    D: Send,
    T: Send,
    Tx: Send,
    U: Send,
    UrcCapacity: Send
[src]

impl<Tx, T, U, D, BufLen, UrcCapacity> Sync for ClientBuilder<Tx, T, U, D, BufLen, UrcCapacity> where
    BufLen: Sync,
    D: Sync,
    T: Sync,
    Tx: Sync,
    U: Sync,
    UrcCapacity: Sync
[src]

impl<Tx, T, U, D, BufLen, UrcCapacity> Unpin for ClientBuilder<Tx, T, U, D, BufLen, UrcCapacity> where
    BufLen: Unpin,
    D: Unpin,
    T: Unpin,
    Tx: Unpin,
    U: Unpin,
    UrcCapacity: Unpin
[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.