pub trait MlmeImpl {
type Config: Send;
type Device: DeviceOps;
type TimerEvent;
// Required methods
fn new(
config: Self::Config,
device: Self::Device,
buffer_provider: CBufferProvider,
scheduler: Timer<Self::TimerEvent>
) -> impl Future<Output = Result<Self, Error>> + Send
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§
fn new(
config: Self::Config,
device: Self::Device,
buffer_provider: CBufferProvider,
scheduler: Timer<Self::TimerEvent>
) -> impl Future<Output = Result<Self, Error>> + Sendwhere
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
Object Safety§
This trait is not object safe.