pub struct WlanFullmacRxRateIndexHistogram {
pub hist_scope: WlanFullmacHistScope,
pub antenna_id: WlanFullmacAntennaId,
pub rx_rate_index_samples: Vec<WlanFullmacHistBucket>,
pub invalid_samples: u64,
}
Expand description
Histogram for received data rate.
Fields§
§hist_scope: WlanFullmacHistScope
§antenna_id: WlanFullmacAntennaId
If hist_scope is PER_ANTENNA, antenna_id must be provided.
rx_rate_index_samples: Vec<WlanFullmacHistBucket>
Sparse histogram of count of received frames for each rate. Each sample’s bucket_index is an index into this lookup table: 0-3: B-MCS 0-3 4-11: G-MCS 0-7 12-27: N-MCS 0-15 (BW20) 28-43: N-MCS 0-15 (BW40) 44-59: N-MCS 0-15 (BW20:SGI) 60-75: N-MCS 0-15 (BW40:SGI) 76-85: AC-MCS 0-9 (VHT:BW20:NSS1) 86-95: AC-MCS 0-9 (VHT:BW20:NSS2) 96-105: AC-MCS 0-9 (VHT:BW40:NSS1) 106-115: AC-MCS 0-9 (VHT:BW40:NSS2) 116-125: AC-MCS 0-9 (VHT:BW80:NSS1) 126-135: AC-MCS 0-9 (VHT:BW80:NSS2) 136-145: AC-MCS 0-9 (VHT:BW20:NSS1:SGI) 146-155: AC-MCS 0-9 (VHT:BW20:NSS2:SGI) 156-165: AC-MCS 0-9 (VHT:BW40:NSS1:SGI) 166-175: AC-MCS 0-9 (VHT:BW40:NSS2:SGI) 176-185: AC-MCS 0-9 (VHT:BW80:NSS1:SGI) 186-195: AC-MCS 0-9 (VHT:BW80:NSS2:SGI)
For example, if rx_rate_index_samples contains a WlanFullmacHistBucket with bucket_index = 75 and num_samples = 50, that means there were 50 frames counted that had a rate corresponding to N-MCS 15 (BW40:SGI).
invalid_samples: u64
Count of invalid samples encountered, if any.
Trait Implementations§
source§impl Clone for WlanFullmacRxRateIndexHistogram
impl Clone for WlanFullmacRxRateIndexHistogram
source§fn clone(&self) -> WlanFullmacRxRateIndexHistogram
fn clone(&self) -> WlanFullmacRxRateIndexHistogram
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Decode<WlanFullmacRxRateIndexHistogram> for WlanFullmacRxRateIndexHistogram
impl Decode<WlanFullmacRxRateIndexHistogram> for WlanFullmacRxRateIndexHistogram
source§impl Encode<WlanFullmacRxRateIndexHistogram> for &WlanFullmacRxRateIndexHistogram
impl Encode<WlanFullmacRxRateIndexHistogram> for &WlanFullmacRxRateIndexHistogram
source§impl<T0: Encode<WlanFullmacHistScope>, T1: Encode<WlanFullmacAntennaId>, T2: Encode<Vector<WlanFullmacHistBucket, 196>>, T3: Encode<u64>> Encode<WlanFullmacRxRateIndexHistogram> for (T0, T1, T2, T3)
impl<T0: Encode<WlanFullmacHistScope>, T1: Encode<WlanFullmacAntennaId>, T2: Encode<Vector<WlanFullmacHistBucket, 196>>, T3: Encode<u64>> Encode<WlanFullmacRxRateIndexHistogram> for (T0, T1, T2, T3)
source§impl Ord for WlanFullmacRxRateIndexHistogram
impl Ord for WlanFullmacRxRateIndexHistogram
source§fn cmp(&self, other: &WlanFullmacRxRateIndexHistogram) -> Ordering
fn cmp(&self, other: &WlanFullmacRxRateIndexHistogram) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
source§impl PartialEq for WlanFullmacRxRateIndexHistogram
impl PartialEq for WlanFullmacRxRateIndexHistogram
source§fn eq(&self, other: &WlanFullmacRxRateIndexHistogram) -> bool
fn eq(&self, other: &WlanFullmacRxRateIndexHistogram) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd for WlanFullmacRxRateIndexHistogram
impl PartialOrd for WlanFullmacRxRateIndexHistogram
source§fn partial_cmp(
&self,
other: &WlanFullmacRxRateIndexHistogram
) -> Option<Ordering>
fn partial_cmp( &self, other: &WlanFullmacRxRateIndexHistogram ) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresource§impl TypeMarker for WlanFullmacRxRateIndexHistogram
impl TypeMarker for WlanFullmacRxRateIndexHistogram
§type Owned = WlanFullmacRxRateIndexHistogram
type Owned = WlanFullmacRxRateIndexHistogram
source§fn inline_align(_context: Context) -> usize
fn inline_align(_context: Context) -> usize
source§fn inline_size(_context: Context) -> usize
fn inline_size(_context: Context) -> usize
inline_align
.§fn encode_is_copy() -> bool
fn encode_is_copy() -> bool
Self::Owned
matches the FIDL wire
format and encoding requires no validation. When true, we can optimize
encoding arrays and vectors of Self::Owned
to a single memcpy. Read more§fn decode_is_copy() -> bool
fn decode_is_copy() -> bool
Self::Owned
matches the FIDL wire
format and decoding requires no validation. When true, we can optimize
decoding arrays and vectors of Self::Owned
to a single memcpy.source§impl ValueTypeMarker for WlanFullmacRxRateIndexHistogram
impl ValueTypeMarker for WlanFullmacRxRateIndexHistogram
§type Borrowed<'a> = &'a WlanFullmacRxRateIndexHistogram
type Borrowed<'a> = &'a WlanFullmacRxRateIndexHistogram
Encode<Self>
type cheaply obtainable from &Self::Owned
. There are three cases: Read more