FlowSampleExpanded

Struct FlowSampleExpanded 

Source
pub struct FlowSampleExpanded {
    pub sequence_number: u32,
    pub source_id: DataSourceExpanded,
    pub sampling_rate: u32,
    pub sample_pool: u32,
    pub drops: u32,
    pub input: InterfaceExpanded,
    pub output: InterfaceExpanded,
    pub flow_records: Vec<FlowRecord>,
}
Expand description

Expanded flow sample - Format (0,3)

Flow sample with expanded encoding for large interface indices (>= 2^24).

§XDR Definition (sFlow v5)

/* Format of a single expanded flow sample */
/* opaque = sample_data; enterprise = 0; format = 3 */

struct flow_sample_expanded {
   unsigned int sequence_number;  /* Incremented with each flow sample
                                     generated by this sFlow Instance. */
   sflow_data_source_expanded source_id; /* sFlowDataSource */
   unsigned int sampling_rate;    /* sFlowPacketSamplingRate */
   unsigned int sample_pool;      /* Total number of packets that could have been
                                     sampled (i.e. packets skipped by sampling process
                                     + total number of samples) */
   unsigned int drops;            /* Number of times that the sFlow agent detected
                                     that a packet marked to be sampled was dropped
                                     due to lack of resources. */
   interface_expanded input;      /* Input interface */
   interface_expanded output;     /* Output interface */
   flow_record flow_records<>;    /* Information about sampled packet */
}

ERRATUM: Sequence number clarified as incremented per “sFlow Instance” instead of “source_id”.

Fields§

§sequence_number: u32

Sequence number incremented with each flow sample generated by this sFlow Instance ERRATUM: Clarified as “sFlow Instance” instead of “source_id”

§source_id: DataSourceExpanded

Expanded sFlow data source identifier

§sampling_rate: u32

Sampling rate (1 in N packets)

§sample_pool: u32

Total packets that could have been sampled

§drops: u32

Number of dropped samples due to lack of resources

§input: InterfaceExpanded

Input interface (expanded)

§output: InterfaceExpanded

Output interface (expanded)

§flow_records: Vec<FlowRecord>

Flow records describing the sampled packet

Trait Implementations§

Source§

impl Clone for FlowSampleExpanded

Source§

fn clone(&self) -> FlowSampleExpanded

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for FlowSampleExpanded

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for FlowSampleExpanded

Source§

fn eq(&self, other: &FlowSampleExpanded) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for FlowSampleExpanded

Source§

impl StructuralPartialEq for FlowSampleExpanded

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.