Trait can_type_rs::device::SyncCanDevice
source · pub trait SyncCanDevice {
type Channel;
type Frame;
type Device;
// Required methods
fn new(device: Self::Device) -> Self;
fn sender(&self) -> Sender<Self::Frame>;
fn register_listener(
&mut self,
name: String,
listener: Box<dyn CanListener<Frame = Self::Frame, Channel = Self::Channel>>,
) -> bool;
fn unregister_listener(&mut self, name: String) -> bool;
fn unregister_all(&mut self) -> bool;
fn listener_names(&self) -> Vec<String>;
fn sync_transmit(
device: MutexGuard<'_, Self>,
interval_ms: u64,
stopper: Arc<Mutex<Receiver<()>>>,
);
fn sync_receive(
device: MutexGuard<'_, Self>,
interval_ms: u64,
stopper: Arc<Mutex<Receiver<()>>>,
);
fn sync_start(&mut self, interval_ms: u64);
fn close(&mut self);
}Required Associated Types§
Required Methods§
fn new(device: Self::Device) -> Self
sourcefn register_listener(
&mut self,
name: String,
listener: Box<dyn CanListener<Frame = Self::Frame, Channel = Self::Channel>>,
) -> bool
fn register_listener( &mut self, name: String, listener: Box<dyn CanListener<Frame = Self::Frame, Channel = Self::Channel>>, ) -> bool
Register transmit and receive frame listener.
sourcefn unregister_listener(&mut self, name: String) -> bool
fn unregister_listener(&mut self, name: String) -> bool
Unregister transmit and receive frame listener.
sourcefn unregister_all(&mut self) -> bool
fn unregister_all(&mut self) -> bool
Unregister all transmit and receive frame listeners.
sourcefn listener_names(&self) -> Vec<String>
fn listener_names(&self) -> Vec<String>
Get all transmit and receive frame listener’s names.
sourcefn sync_transmit(
device: MutexGuard<'_, Self>,
interval_ms: u64,
stopper: Arc<Mutex<Receiver<()>>>,
)
fn sync_transmit( device: MutexGuard<'_, Self>, interval_ms: u64, stopper: Arc<Mutex<Receiver<()>>>, )
start transmit loop.
sourcefn sync_receive(
device: MutexGuard<'_, Self>,
interval_ms: u64,
stopper: Arc<Mutex<Receiver<()>>>,
)
fn sync_receive( device: MutexGuard<'_, Self>, interval_ms: u64, stopper: Arc<Mutex<Receiver<()>>>, )
start receive loop.
sourcefn sync_start(&mut self, interval_ms: u64)
fn sync_start(&mut self, interval_ms: u64)
start sync_transmit and sync_receive
Object Safety§
This trait is not object safe.