wlan_mlme

Trait MlmeImpl

Source
pub trait MlmeImpl {
    type Config;
    type Device: DeviceOps;
    type TimerEvent;

    // Required methods
    fn new(
        config: Self::Config,
        device: Self::Device,
        scheduler: Timer<Self::TimerEvent>,
    ) -> impl Future<Output = Result<Self, Error>>
       where Self: Sized;
    fn handle_mlme_request(
        &mut self,
        msg: MlmeRequest,
    ) -> impl Future<Output = Result<(), Error>>;
    fn handle_mac_frame_rx(
        &mut self,
        bytes: &[u8],
        rx_info: WlanRxInfo,
        async_id: Id,
    ) -> impl Future<Output = ()>;
    fn handle_eth_frame_tx(
        &mut self,
        bytes: &[u8],
        async_id: Id,
    ) -> Result<(), Error>;
    fn handle_scan_complete(
        &mut self,
        status: Status,
        scan_id: u64,
    ) -> impl Future<Output = ()>;
    fn handle_timeout(
        &mut self,
        event_id: EventId,
        event: Self::TimerEvent,
    ) -> impl Future<Output = ()>;
    fn access_device(&mut self) -> &mut Self::Device;
}

Required Associated Types§

Required Methods§

Source

fn new( config: Self::Config, device: Self::Device, scheduler: Timer<Self::TimerEvent>, ) -> impl Future<Output = Result<Self, Error>>
where Self: Sized,

Source

fn handle_mlme_request( &mut self, msg: MlmeRequest, ) -> impl Future<Output = Result<(), Error>>

Source

fn handle_mac_frame_rx( &mut self, bytes: &[u8], rx_info: WlanRxInfo, async_id: Id, ) -> impl Future<Output = ()>

Source

fn handle_eth_frame_tx( &mut self, bytes: &[u8], async_id: Id, ) -> Result<(), Error>

Source

fn handle_scan_complete( &mut self, status: Status, scan_id: u64, ) -> impl Future<Output = ()>

Source

fn handle_timeout( &mut self, event_id: EventId, event: Self::TimerEvent, ) -> impl Future<Output = ()>

Source

fn access_device(&mut self) -> &mut Self::Device

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§