Struct RxRateIndexHistogram
pub struct RxRateIndexHistogram {
pub hist_scope: HistScope,
pub antenna_id: Option<Box<AntennaId>>,
pub rx_rate_index_samples: Vec<HistBucket>,
pub invalid_samples: u64,
}
Expand description
Histogram for received data rate.
Fields§
§hist_scope: HistScope
§antenna_id: Option<Box<AntennaId>>
If hist_scope is PER_ANTENNA, antenna_id must be provided.
rx_rate_index_samples: Vec<HistBucket>
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 HistBucket 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§
§impl Clone for RxRateIndexHistogram
impl Clone for RxRateIndexHistogram
§fn clone(&self) -> RxRateIndexHistogram
fn clone(&self) -> RxRateIndexHistogram
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl Debug for RxRateIndexHistogram
impl Debug for RxRateIndexHistogram
§impl<D> Decode<RxRateIndexHistogram, D> for RxRateIndexHistogramwhere
D: ResourceDialect,
impl<D> Decode<RxRateIndexHistogram, D> for RxRateIndexHistogramwhere
D: ResourceDialect,
§fn new_empty() -> RxRateIndexHistogram
fn new_empty() -> RxRateIndexHistogram
Self
. The specific value does not matter,
since it will be overwritten by decode
.§impl<D> Encode<RxRateIndexHistogram, D> for &RxRateIndexHistogramwhere
D: ResourceDialect,
impl<D> Encode<RxRateIndexHistogram, D> for &RxRateIndexHistogramwhere
D: ResourceDialect,
§impl Hash for RxRateIndexHistogram
impl Hash for RxRateIndexHistogram
§impl Ord for RxRateIndexHistogram
impl Ord for RxRateIndexHistogram
§fn cmp(&self, other: &RxRateIndexHistogram) -> Ordering
fn cmp(&self, other: &RxRateIndexHistogram) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
§impl PartialEq for RxRateIndexHistogram
impl PartialEq for RxRateIndexHistogram
§impl PartialOrd for RxRateIndexHistogram
impl PartialOrd for RxRateIndexHistogram
§impl TypeMarker for RxRateIndexHistogram
impl TypeMarker for RxRateIndexHistogram
§type Owned = RxRateIndexHistogram
type Owned = RxRateIndexHistogram
§fn inline_align(_context: Context) -> usize
fn inline_align(_context: Context) -> usize
§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.§impl ValueTypeMarker for RxRateIndexHistogram
impl ValueTypeMarker for RxRateIndexHistogram
§type Borrowed<'a> = &'a RxRateIndexHistogram
type Borrowed<'a> = &'a RxRateIndexHistogram
Encode<Self>
type cheaply obtainable from &Self::Owned
. There are three cases: Read more§fn borrow(
value: &<RxRateIndexHistogram as TypeMarker>::Owned,
) -> <RxRateIndexHistogram as ValueTypeMarker>::Borrowed<'_>
fn borrow( value: &<RxRateIndexHistogram as TypeMarker>::Owned, ) -> <RxRateIndexHistogram as ValueTypeMarker>::Borrowed<'_>
&Self::Owned
to Self::Borrowed
.