Struct erdnuss_comms::target::Target
source · pub struct Target<'a, Cfg, const IN: usize = INCOMING_SIZE, const OUT: usize = OUTGOING_SIZE>where
Cfg: TgtCfg,{ /* private fields */ }Expand description
Interface for the Target
Note that UNLIKE the Controller, which uses a Mutex to share between the
“application facing” and “wire facing” parts, we instead use a pair of
Channels for the Target instead.
This is because the Target is MUCH more timing critical, holding a mutex locked when addressed by the Controller could cause us to totally miss a message.
Implementations§
Auto Trait Implementations§
impl<'a, Cfg, const IN: usize = INCOMING_SIZE, const OUT: usize = OUTGOING_SIZE> !RefUnwindSafe for Target<'a, Cfg, IN, OUT>
impl<'a, Cfg, const IN: usize, const OUT: usize> Send for Target<'a, Cfg, IN, OUT>
impl<'a, Cfg, const IN: usize = INCOMING_SIZE, const OUT: usize = OUTGOING_SIZE> !Sync for Target<'a, Cfg, IN, OUT>
impl<'a, Cfg, const IN: usize, const OUT: usize> Unpin for Target<'a, Cfg, IN, OUT>
impl<'a, Cfg, const IN: usize = INCOMING_SIZE, const OUT: usize = OUTGOING_SIZE> !UnwindSafe for Target<'a, Cfg, IN, OUT>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more