pub trait RadioErrand {
// Required method
async fn run<R: Radio>(
self,
mac: &AsyncRefCell<Mac<TokioPlatform<R, TokioFileCounterStore, TokioFileKeyValueStore>, IDENTITIES, PEERS, CHANNELS, ACKS, TX, FRAME, DUP>>,
identity: SoftwareIdentity,
) -> Result<()>
where R::Error: Debug;
}Expand description
Something this tool runs as a node on its own radio.
manage, the messaging commands, and discover all want the same
preamble — read the device’s PHY, take the attachment over, turn it
into a MAC — and the same guarantee afterwards, that the attachment
comes back whether the errand worked or not. That is
borrowing_the_radio; this is the part that differs. It is a trait
rather than a closure because it has to be generic over whatever
radio the session happens to be holding.
Required Methods§
async fn run<R: Radio>( self, mac: &AsyncRefCell<Mac<TokioPlatform<R, TokioFileCounterStore, TokioFileKeyValueStore>, IDENTITIES, PEERS, CHANNELS, ACKS, TX, FRAME, DUP>>, identity: SoftwareIdentity, ) -> Result<()>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.