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§
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>
sourcefn send_wlan_frame(
&mut self,
buffer: FinalizedBuffer,
tx_flags: WlanTxInfoFlags,
async_id: Option<TraceId>
) -> Result<(), Status>
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.
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
Object Safety§
This trait is not object safe.