Struct atat::IngressManager[][src]

pub struct IngressManager<BufLen = U256, D = DefaultDigester, U = DefaultUrcMatcher, UrcCapacity = U10> where
    BufLen: ArrayLength<u8>,
    UrcCapacity: ArrayLength<Vec<u8, BufLen>>,
    U: UrcMatcher,
    D: Digester
{ /* fields omitted */ }

Implementations

impl<BufLen, UrcCapacity> IngressManager<BufLen, DefaultDigester, DefaultUrcMatcher, UrcCapacity> where
    BufLen: ArrayLength<u8>,
    UrcCapacity: ArrayLength<Vec<u8, BufLen>>, 
[src]

#[must_use]pub fn new(
    res_p: Producer<'static, Result<Vec<u8, BufLen>, Error>, U1, u8>,
    urc_p: Producer<'static, Vec<u8, BufLen>, UrcCapacity, u8>,
    com_c: Consumer<'static, Command, U3, u8>
) -> Self
[src]

impl<BufLen, U, D, UrcCapacity> IngressManager<BufLen, D, U, UrcCapacity> where
    D: Digester,
    U: UrcMatcher,
    BufLen: ArrayLength<u8>,
    UrcCapacity: ArrayLength<Vec<u8, BufLen>>, 
[src]

pub fn with_customs(
    res_p: Producer<'static, Result<Vec<u8, BufLen>, Error>, U1, u8>,
    urc_p: Producer<'static, Vec<u8, BufLen>, UrcCapacity, u8>,
    com_c: Consumer<'static, Command, U3, u8>,
    urc_matcher: U,
    digester: D
) -> Self
[src]

pub fn write(&mut self, data: &[u8])[src]

Write data into the internal buffer raw bytes being the core type allows the ingress manager to be abstracted over the communication medium.

This function should be called by the UART Rx, either in a receive interrupt, or a DMA interrupt, to move data from the peripheral into the ingress manager receive buffer.

pub fn notify_response(&mut self, resp: Result<Vec<u8, BufLen>, Error>)[src]

Notify the client that an appropriate response code, or error has been received

pub fn notify_urc(&mut self, resp: Vec<u8, BufLen>)[src]

Notify the client that an unsolicited response code (URC) has been received

pub fn handle_com(&mut self)[src]

Handle receiving internal config commands from the client.

pub fn digest(&mut self)[src]

Auto Trait Implementations

impl<BufLen = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, D = DefaultDigester, U = DefaultUrcMatcher, UrcCapacity = UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>> !RefUnwindSafe for IngressManager<BufLen, D, U, UrcCapacity>[src]

impl<BufLen, D, U, UrcCapacity> Send for IngressManager<BufLen, D, U, UrcCapacity> where
    D: Send,
    U: Send
[src]

impl<BufLen = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, D = DefaultDigester, U = DefaultUrcMatcher, UrcCapacity = UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>> !Sync for IngressManager<BufLen, D, U, UrcCapacity>[src]

impl<BufLen, D, U, UrcCapacity> Unpin for IngressManager<BufLen, D, U, UrcCapacity> where
    D: Unpin,
    U: Unpin,
    <BufLen as ArrayLength<u8>>::ArrayType: Unpin
[src]

impl<BufLen = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, D = DefaultDigester, U = DefaultUrcMatcher, UrcCapacity = UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>> !UnwindSafe for IngressManager<BufLen, D, U, UrcCapacity>[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.