FlowSample

Struct FlowSample 

Source
pub struct FlowSample {
    pub sequence_number: u32,
    pub source_id: DataSource,
    pub sampling_rate: u32,
    pub sample_pool: u32,
    pub drops: u32,
    pub input: Interface,
    pub output: Interface,
    pub flow_records: Vec<FlowRecord>,
}
Expand description

Compact flow sample - Format (0,1)

Contains sampled packet information with compact encoding for interfaces.

§XDR Definition (sFlow v5)

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

struct flow_sample {
   unsigned int sequence_number;  /* Incremented with each flow sample
                                     generated by this sFlow Instance. */
   sflow_data_source 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 input;               /* Input interface */
   interface 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: DataSource

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: Interface

Input interface

§output: Interface

Output interface

§flow_records: Vec<FlowRecord>

Flow records describing the sampled packet

Trait Implementations§

Source§

impl Clone for FlowSample

Source§

fn clone(&self) -> FlowSample

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 FlowSample

Source§

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

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

impl PartialEq for FlowSample

Source§

fn eq(&self, other: &FlowSample) -> 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 FlowSample

Source§

impl StructuralPartialEq for FlowSample

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.