Trait can_type_rs::device::AsyncCanDevice
source · pub trait AsyncCanDevice {
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 async_transmit(
device: Arc<Mutex<Self>>,
interval_ms: u64,
stopper: Arc<Mutex<Receiver<()>>>,
) -> impl Future<Output = ()> + Send;
fn async_receive(
device: Arc<Mutex<Self>>,
interval_ms: u64,
stopper: Arc<Mutex<Receiver<()>>>,
) -> impl Future<Output = ()> + Send;
fn async_start(&mut self, interval_ms: u64);
fn close(&mut self) -> impl Future<Output = ()> + Send;
}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 async_transmit(
device: Arc<Mutex<Self>>,
interval_ms: u64,
stopper: Arc<Mutex<Receiver<()>>>,
) -> impl Future<Output = ()> + Send
fn async_transmit( device: Arc<Mutex<Self>>, interval_ms: u64, stopper: Arc<Mutex<Receiver<()>>>, ) -> impl Future<Output = ()> + Send
start transmit loop.
sourcefn async_receive(
device: Arc<Mutex<Self>>,
interval_ms: u64,
stopper: Arc<Mutex<Receiver<()>>>,
) -> impl Future<Output = ()> + Send
fn async_receive( device: Arc<Mutex<Self>>, interval_ms: u64, stopper: Arc<Mutex<Receiver<()>>>, ) -> impl Future<Output = ()> + Send
start receive loop.
sourcefn async_start(&mut self, interval_ms: u64)
fn async_start(&mut self, interval_ms: u64)
start async_transmit and async_receive
Object Safety§
This trait is not object safe.