pub enum FrameProcessorRequest {
WlanRx {
payload: FrameProcessorWlanRxRequest,
responder: FrameProcessorWlanRxResponder,
},
EthernetTx {
payload: FrameProcessorEthernetTxRequest,
responder: FrameProcessorEthernetTxResponder,
},
}
Expand description
Protocol for sending Ethernet and WLAN frames from the wlansoftmac driver to the bridged wlansoftmac driver.
§Experimental
This protocol is implemented as a foreign function interface (FFI) between the wlansoftmac driver and the bridged driver solely to improve the performance of processing data frames through the wlan-mlme library.
By using an FFI, messages through this protocol never enter a FIDL channel and thus do not incur the cost of the associated system calls Empirically, we observed implementing this protocol as an FFI saves on the order of ~500µs per frame processed when compared to implementing this protocol with a FIDL channel.
Variants§
Implementations§
source§impl FrameProcessorRequest
impl FrameProcessorRequest
pub fn into_wlan_rx( self ) -> Option<(FrameProcessorWlanRxRequest, FrameProcessorWlanRxResponder)>
pub fn into_ethernet_tx( self ) -> Option<(FrameProcessorEthernetTxRequest, FrameProcessorEthernetTxResponder)>
sourcepub fn method_name(&self) -> &'static str
pub fn method_name(&self) -> &'static str
Name of the method defined in FIDL
Trait Implementations§
Auto Trait Implementations§
impl Freeze for FrameProcessorRequest
impl !RefUnwindSafe for FrameProcessorRequest
impl Send for FrameProcessorRequest
impl Sync for FrameProcessorRequest
impl Unpin for FrameProcessorRequest
impl !UnwindSafe for FrameProcessorRequest
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more