[−][src]Struct atat::Client
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
clearBuffer to the ingress-manager.
Don't create a Client instance directly. Instead, use the
driver! macro.
Implementations
impl<Tx, T, BufLen, ComCapacity, ResCapacity, UrcCapacity> Client<Tx, T, BufLen, ComCapacity, ResCapacity, UrcCapacity> where
Tx: Write<u8>,
T: CountDown,
T::Time: From<u32>,
BufLen: ArrayLength<u8>,
ComCapacity: ArrayLength<Command>,
ResCapacity: ArrayLength<Result<Vec<u8, BufLen>, Error>>,
UrcCapacity: ArrayLength<Vec<u8, BufLen>>, [src]
Tx: Write<u8>,
T: CountDown,
T::Time: From<u32>,
BufLen: ArrayLength<u8>,
ComCapacity: ArrayLength<Command>,
ResCapacity: ArrayLength<Result<Vec<u8, BufLen>, Error>>,
UrcCapacity: ArrayLength<Vec<u8, BufLen>>,
pub fn new(
tx: Tx,
res_c: Consumer<'static, Result<Vec<u8, BufLen>, Error>, ResCapacity, u8>,
urc_c: Consumer<'static, Vec<u8, BufLen>, UrcCapacity, u8>,
com_p: Producer<'static, Command, ComCapacity, u8>,
timer: T,
config: Config
) -> Self[src]
tx: Tx,
res_c: Consumer<'static, Result<Vec<u8, BufLen>, Error>, ResCapacity, u8>,
urc_c: Consumer<'static, Vec<u8, BufLen>, UrcCapacity, u8>,
com_p: Producer<'static, Command, ComCapacity, u8>,
timer: T,
config: Config
) -> Self
Trait Implementations
impl<Tx, T, BufLen, ComCapacity, ResCapacity, UrcCapacity> AtatClient for Client<Tx, T, BufLen, ComCapacity, ResCapacity, UrcCapacity> where
Tx: Write<u8>,
T: CountDown,
T::Time: From<u32>,
BufLen: ArrayLength<u8>,
ComCapacity: ArrayLength<Command>,
ResCapacity: ArrayLength<Result<Vec<u8, BufLen>, Error>>,
UrcCapacity: ArrayLength<Vec<u8, BufLen>>, [src]
Tx: Write<u8>,
T: CountDown,
T::Time: From<u32>,
BufLen: ArrayLength<u8>,
ComCapacity: ArrayLength<Command>,
ResCapacity: ArrayLength<Result<Vec<u8, BufLen>, Error>>,
UrcCapacity: ArrayLength<Vec<u8, BufLen>>,
Auto Trait Implementations
impl<Tx, T, BufLen, ComCapacity, ResCapacity, UrcCapacity> Send for Client<Tx, T, BufLen, ComCapacity, ResCapacity, UrcCapacity> where
T: Send,
Tx: Send,
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>, ComCapacity = UInt<UInt<UTerm, B1>, B1>, ResCapacity = UInt<UInt<UInt<UTerm, B1>, B0>, B1>, UrcCapacity = UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>> !Sync for Client<Tx, T, BufLen, ComCapacity, ResCapacity, UrcCapacity>
impl<Tx, T, BufLen, ComCapacity, ResCapacity, UrcCapacity> Unpin for Client<Tx, T, BufLen, ComCapacity, ResCapacity, UrcCapacity> where
T: Unpin,
Tx: Unpin,
T: Unpin,
Tx: Unpin,
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,
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.
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>,