RadioErrand

Trait RadioErrand 

Source
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§

Source

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,

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.

Implementors§

Source§

impl RadioErrand for umshctl::command::message::Errand

Source§

impl RadioErrand for DiscoverArgs

Source§

impl RadioErrand for umshctl::command::manage::Errand