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>, frame_processor: Pin<Box<FrameProcessor>> ) -> impl Future<Output = Result<Channel, Status>>; fn deliver_eth_frame(&mut self, packet: &[u8]) -> Result<(), Status>; fn send_wlan_frame( &mut self, buffer: FinalizedBuffer, 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>, frame_processor: Pin<Box<FrameProcessor>> ) -> 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: FinalizedBuffer, tx_flags: WlanTxInfoFlags, async_id: Option<TraceId> ) -> Result<(), Status>

Sends the given |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

Object Safety§

This trait is not object safe.

Implementors§