wlan_mlme::device

Trait DeviceOps

Source
pub trait DeviceOps {
Show 27 methods // Required methods fn wlan_softmac_query_response( &mut self, ) -> impl Future<Output = Result<WlanSoftmacQueryResponse, Status>>; fn discovery_support( &mut self, ) -> impl Future<Output = Result<DiscoverySupport, Status>>; fn mac_sublayer_support( &mut self, ) -> impl Future<Output = Result<MacSublayerSupport, Status>>; fn security_support( &mut self, ) -> impl Future<Output = Result<SecuritySupport, Status>>; fn spectrum_management_support( &mut self, ) -> impl Future<Output = Result<SpectrumManagementSupport, Status>>; fn start( &mut self, ifc_bridge: ClientEnd<WlanSoftmacIfcBridgeMarker>, ethernet_tx: EthernetTx, wlan_rx: WlanRx, ) -> impl Future<Output = Result<Channel, Status>>; fn deliver_eth_frame(&mut self, packet: &[u8]) -> Result<(), Status>; fn send_wlan_frame( &mut self, buffer: ArenaStaticBox<[u8]>, tx_flags: WlanTxInfoFlags, async_id: Option<TraceId>, ) -> Result<(), Status>; fn set_ethernet_status( &mut self, status: LinkStatus, ) -> impl Future<Output = Result<(), Status>>; fn set_channel( &mut self, channel: WlanChannel, ) -> impl Future<Output = Result<(), Status>>; fn start_passive_scan( &mut self, request: &WlanSoftmacBaseStartPassiveScanRequest, ) -> impl Future<Output = Result<WlanSoftmacBaseStartPassiveScanResponse, Status>>; fn start_active_scan( &mut self, request: &WlanSoftmacStartActiveScanRequest, ) -> impl Future<Output = Result<WlanSoftmacBaseStartActiveScanResponse, Status>>; fn cancel_scan( &mut self, request: &WlanSoftmacBaseCancelScanRequest, ) -> impl Future<Output = Result<(), Status>>; fn join_bss( &mut self, request: &JoinBssRequest, ) -> impl Future<Output = Result<(), Status>>; fn enable_beaconing( &mut self, request: WlanSoftmacBaseEnableBeaconingRequest, ) -> impl Future<Output = Result<(), Status>>; fn disable_beaconing(&mut self) -> impl Future<Output = Result<(), Status>>; fn install_key( &mut self, key_configuration: &WlanKeyConfiguration, ) -> impl Future<Output = Result<(), Status>>; fn notify_association_complete( &mut self, assoc_cfg: WlanAssociationConfig, ) -> impl Future<Output = Result<(), Status>>; fn clear_association( &mut self, request: &WlanSoftmacBaseClearAssociationRequest, ) -> impl Future<Output = Result<(), Status>>; fn update_wmm_parameters( &mut self, request: &WlanSoftmacBaseUpdateWmmParametersRequest, ) -> impl Future<Output = Result<(), Status>>; fn take_mlme_event_stream(&mut self) -> Option<UnboundedReceiver<MlmeEvent>>; fn send_mlme_event(&mut self, event: MlmeEvent) -> Result<(), Error>; fn set_minstrel( &mut self, minstrel: Arc<Mutex<MinstrelRateSelector<MinstrelTimer>>>, ); fn minstrel( &mut self, ) -> Option<Arc<Mutex<MinstrelRateSelector<MinstrelTimer>>>>; // Provided methods fn set_ethernet_up(&mut self) -> impl Future<Output = Result<(), Status>> { ... } fn set_ethernet_down(&mut self) -> impl Future<Output = Result<(), Status>> { ... } fn tx_vector_idx( &mut self, frame_control: &FrameControl, peer_addr: &MacAddr, flags: WlanTxInfoFlags, ) -> TxVecIdx { ... }
}
Expand description

This trait abstracts operations performed by the vendor driver and ethernet device.

Required Methods§

Source

fn wlan_softmac_query_response( &mut self, ) -> impl Future<Output = Result<WlanSoftmacQueryResponse, Status>>

Source

fn discovery_support( &mut self, ) -> impl Future<Output = Result<DiscoverySupport, Status>>

Source

fn mac_sublayer_support( &mut self, ) -> impl Future<Output = Result<MacSublayerSupport, Status>>

Source

fn security_support( &mut self, ) -> impl Future<Output = Result<SecuritySupport, Status>>

Source

fn spectrum_management_support( &mut self, ) -> impl Future<Output = Result<SpectrumManagementSupport, Status>>

Source

fn start( &mut self, ifc_bridge: ClientEnd<WlanSoftmacIfcBridgeMarker>, ethernet_tx: EthernetTx, wlan_rx: WlanRx, ) -> impl Future<Output = Result<Channel, Status>>

Source

fn deliver_eth_frame(&mut self, packet: &[u8]) -> Result<(), Status>

Source

fn send_wlan_frame( &mut self, buffer: ArenaStaticBox<[u8]>, tx_flags: WlanTxInfoFlags, async_id: Option<TraceId>, ) -> Result<(), Status>

Sends the slice corresponding to |buffer| as a frame over the air. If the caller does not pass an |async_id| to this function, then this function will generate its own |async_id| and end the trace if an error occurs.

Source

fn set_ethernet_status( &mut self, status: LinkStatus, ) -> impl Future<Output = Result<(), Status>>

Source

fn set_channel( &mut self, channel: WlanChannel, ) -> impl Future<Output = Result<(), Status>>

Source

fn start_passive_scan( &mut self, request: &WlanSoftmacBaseStartPassiveScanRequest, ) -> impl Future<Output = Result<WlanSoftmacBaseStartPassiveScanResponse, Status>>

Source

fn start_active_scan( &mut self, request: &WlanSoftmacStartActiveScanRequest, ) -> impl Future<Output = Result<WlanSoftmacBaseStartActiveScanResponse, Status>>

Source

fn cancel_scan( &mut self, request: &WlanSoftmacBaseCancelScanRequest, ) -> impl Future<Output = Result<(), Status>>

Source

fn join_bss( &mut self, request: &JoinBssRequest, ) -> impl Future<Output = Result<(), Status>>

Source

fn enable_beaconing( &mut self, request: WlanSoftmacBaseEnableBeaconingRequest, ) -> impl Future<Output = Result<(), Status>>

Source

fn disable_beaconing(&mut self) -> impl Future<Output = Result<(), Status>>

Source

fn install_key( &mut self, key_configuration: &WlanKeyConfiguration, ) -> impl Future<Output = Result<(), Status>>

Source

fn notify_association_complete( &mut self, assoc_cfg: WlanAssociationConfig, ) -> impl Future<Output = Result<(), Status>>

Source

fn clear_association( &mut self, request: &WlanSoftmacBaseClearAssociationRequest, ) -> impl Future<Output = Result<(), Status>>

Source

fn update_wmm_parameters( &mut self, request: &WlanSoftmacBaseUpdateWmmParametersRequest, ) -> impl Future<Output = Result<(), Status>>

Source

fn take_mlme_event_stream(&mut self) -> Option<UnboundedReceiver<MlmeEvent>>

Source

fn send_mlme_event(&mut self, event: MlmeEvent) -> Result<(), Error>

Source

fn set_minstrel( &mut self, minstrel: Arc<Mutex<MinstrelRateSelector<MinstrelTimer>>>, )

Source

fn minstrel( &mut self, ) -> Option<Arc<Mutex<MinstrelRateSelector<MinstrelTimer>>>>

Provided Methods§

Source

fn set_ethernet_up(&mut self) -> impl Future<Output = Result<(), Status>>

Source

fn set_ethernet_down(&mut self) -> impl Future<Output = Result<(), Status>>

Source

fn tx_vector_idx( &mut self, frame_control: &FrameControl, peer_addr: &MacAddr, flags: WlanTxInfoFlags, ) -> TxVecIdx

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§