Struct atat::Client [−][src]
Client responsible for handling send, receive and timeout from the
userfacing side. The client is decoupled from the ingress-manager through
some spsc queue consumers, where any received responses can be dequeued. The
Client also has an spsc producer, to allow signaling commands like
reset
to the ingress-manager.
Implementations
impl<Tx, T, BufLen, UrcCapacity> Client<Tx, T, BufLen, UrcCapacity> where
Tx: Write<u8>,
T: CountDown,
T::Time: From<u32>,
BufLen: ArrayLength<u8>,
UrcCapacity: ArrayLength<Vec<u8, BufLen>>,
[src]
Tx: Write<u8>,
T: CountDown,
T::Time: From<u32>,
BufLen: ArrayLength<u8>,
UrcCapacity: ArrayLength<Vec<u8, BufLen>>,
pub fn new(
tx: Tx,
res_c: Consumer<'static, Result<Vec<u8, BufLen>, Error>, U1, u8>,
urc_c: Consumer<'static, Vec<u8, BufLen>, UrcCapacity, u8>,
com_p: Producer<'static, Command, U3, u8>,
timer: T,
config: Config
) -> Self
[src]
tx: Tx,
res_c: Consumer<'static, Result<Vec<u8, BufLen>, Error>, U1, u8>,
urc_c: Consumer<'static, Vec<u8, BufLen>, UrcCapacity, u8>,
com_p: Producer<'static, Command, U3, u8>,
timer: T,
config: Config
) -> Self
Trait Implementations
impl<Tx, T, BufLen, UrcCapacity> AtatClient for Client<Tx, T, BufLen, UrcCapacity> where
Tx: Write<u8>,
T: CountDown,
T::Time: From<u32>,
BufLen: ArrayLength<u8>,
UrcCapacity: ArrayLength<Vec<u8, BufLen>>,
[src]
Tx: Write<u8>,
T: CountDown,
T::Time: From<u32>,
BufLen: ArrayLength<u8>,
UrcCapacity: ArrayLength<Vec<u8, BufLen>>,
fn send<A: AtatCmd>(&mut self, cmd: &A) -> Result<A::Response, Error>
[src]
fn peek_urc_with<URC: AtatUrc, F: FnOnce(URC::Response) -> bool>(
&mut self,
f: F
)
[src]
&mut self,
f: F
)
fn check_response<A: AtatCmd>(&mut self, cmd: &A) -> Result<A::Response, Error>
[src]
fn get_mode(&self) -> Mode
[src]
fn reset(&mut self)
[src]
fn check_urc<URC: AtatUrc>(&mut self) -> Option<URC::Response>
[src]
Auto Trait Implementations
impl<Tx, T, BufLen = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, UrcCapacity = UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>> !RefUnwindSafe for Client<Tx, T, BufLen, UrcCapacity>
[src]
impl<Tx, T, BufLen, UrcCapacity> Send for Client<Tx, T, BufLen, UrcCapacity> where
T: Send,
Tx: Send,
[src]
T: Send,
Tx: Send,
impl<Tx, T, BufLen = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, UrcCapacity = UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>> !Sync for Client<Tx, T, BufLen, UrcCapacity>
[src]
impl<Tx, T, BufLen, UrcCapacity> Unpin for Client<Tx, T, BufLen, UrcCapacity> where
T: Unpin,
Tx: Unpin,
[src]
T: Unpin,
Tx: Unpin,
impl<Tx, T, BufLen = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, UrcCapacity = UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>> !UnwindSafe for Client<Tx, T, BufLen, UrcCapacity>
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
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]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,