pub struct MultiSessionStream<E, F>where
E: FlowExtractor,
E::Key: Eq + Hash + Clone + Send + 'static,
F: SessionParserFactory<E::Key>,{ /* private fields */ }Expand description
Tagged fan-in of SessionStreams.
Implementations§
Source§impl<E, F> MultiSessionStream<E, F>
impl<E, F> MultiSessionStream<E, F>
Sourcepub fn alive_sources(&self) -> usize
pub fn alive_sources(&self) -> usize
Number of sources still being polled (haven’t returned None
from their inner stream). Decrements as sources exhaust.
Sourcepub fn per_source_capture_stats(
&self,
) -> Vec<(String, Option<Result<CaptureStats, Error>>)>
pub fn per_source_capture_stats( &self, ) -> Vec<(String, Option<Result<CaptureStats, Error>>)>
Per-source kernel ring stats. See
MultiFlowStream::per_source_capture_stats.
Sourcepub fn capture_stats(&self) -> CaptureStats
pub fn capture_stats(&self) -> CaptureStats
Aggregate kernel ring stats. See
MultiFlowStream::capture_stats.
Sourcepub fn per_source_tracker_stats(
&self,
) -> Vec<(String, Option<&FlowTrackerStats>)>
pub fn per_source_tracker_stats( &self, ) -> Vec<(String, Option<&FlowTrackerStats>)>
Per-source tracker stats. See
MultiFlowStream::per_source_tracker_stats.
Sourcepub fn total_active_flows(&self) -> usize
pub fn total_active_flows(&self) -> usize
Sum of live flow counts across all sources.
Trait Implementations§
Source§impl<E, F> Stream for MultiSessionStream<E, F>
impl<E, F> Stream for MultiSessionStream<E, F>
Source§type Item = Result<TaggedEvent<SessionEvent<<E as FlowExtractor>::Key, <<F as SessionParserFactory<<E as FlowExtractor>::Key>>::Parser as SessionParser>::Message>>, Error>
type Item = Result<TaggedEvent<SessionEvent<<E as FlowExtractor>::Key, <<F as SessionParserFactory<<E as FlowExtractor>::Key>>::Parser as SessionParser>::Message>>, Error>
Values yielded by the stream.
Auto Trait Implementations§
impl<E, F> !RefUnwindSafe for MultiSessionStream<E, F>
impl<E, F> !Sync for MultiSessionStream<E, F>
impl<E, F> !UnwindSafe for MultiSessionStream<E, F>
impl<E, F> Freeze for MultiSessionStream<E, F>
impl<E, F> Send for MultiSessionStream<E, F>
impl<E, F> Unpin for MultiSessionStream<E, F>where
<E as FlowExtractor>::Key: Sized + Unpin,
F: Unpin,
E: Unpin,
<<F as SessionParserFactory<<E as FlowExtractor>::Key>>::Parser as SessionParser>::Message: Unpin,
<F as SessionParserFactory<<E as FlowExtractor>::Key>>::Parser: Unpin,
impl<E, F> UnsafeUnpin for MultiSessionStream<E, F>
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<St> StreamExt for St
impl<St> StreamExt for St
Source§fn next(&mut self) -> Next<'_, Self>where
Self: Unpin,
fn next(&mut self) -> Next<'_, Self>where
Self: Unpin,
Consumes and returns the next value in the stream or
None if the
stream is finished. Read moreSource§fn try_next<T, E>(&mut self) -> TryNext<'_, Self>
fn try_next<T, E>(&mut self) -> TryNext<'_, Self>
Consumes and returns the next item in the stream. If an error is
encountered before the next item, the error is returned instead. Read more
Source§fn map<T, F>(self, f: F) -> Map<Self, F>
fn map<T, F>(self, f: F) -> Map<Self, F>
Maps this stream’s items to a different type, returning a new stream of
the resulting type. Read more
Source§fn map_while<T, F>(self, f: F) -> MapWhile<Self, F>
fn map_while<T, F>(self, f: F) -> MapWhile<Self, F>
Map this stream’s items to a different type for as long as determined by
the provided closure. A stream of the target type will be returned,
which will yield elements until the closure returns
None. Read moreSource§fn then<F, Fut>(self, f: F) -> Then<Self, Fut, F>
fn then<F, Fut>(self, f: F) -> Then<Self, Fut, F>
Maps this stream’s items asynchronously to a different type, returning a
new stream of the resulting type. Read more
Source§fn merge<U>(self, other: U) -> Merge<Self, U>
fn merge<U>(self, other: U) -> Merge<Self, U>
Combine two streams into one by interleaving the output of both as it
is produced. Read more
Source§fn filter<F>(self, f: F) -> Filter<Self, F>
fn filter<F>(self, f: F) -> Filter<Self, F>
Filters the values produced by this stream according to the provided
predicate. Read more
Source§fn filter_map<T, F>(self, f: F) -> FilterMap<Self, F>
fn filter_map<T, F>(self, f: F) -> FilterMap<Self, F>
Filters the values produced by this stream while simultaneously mapping
them to a different type according to the provided closure. Read more
Source§fn fuse(self) -> Fuse<Self>where
Self: Sized,
fn fuse(self) -> Fuse<Self>where
Self: Sized,
Creates a stream which ends after the first
None. Read moreSource§fn take(self, n: usize) -> Take<Self>where
Self: Sized,
fn take(self, n: usize) -> Take<Self>where
Self: Sized,
Creates a new stream of at most
n items of the underlying stream. Read moreSource§fn take_while<F>(self, f: F) -> TakeWhile<Self, F>
fn take_while<F>(self, f: F) -> TakeWhile<Self, F>
Take elements from this stream while the provided predicate
resolves to
true. Read moreSource§fn skip(self, n: usize) -> Skip<Self>where
Self: Sized,
fn skip(self, n: usize) -> Skip<Self>where
Self: Sized,
Creates a new stream that will skip the
n first items of the
underlying stream. Read moreSource§fn skip_while<F>(self, f: F) -> SkipWhile<Self, F>
fn skip_while<F>(self, f: F) -> SkipWhile<Self, F>
Skip elements from the underlying stream while the provided predicate
resolves to
true. Read moreSource§fn all<F>(&mut self, f: F) -> AllFuture<'_, Self, F>
fn all<F>(&mut self, f: F) -> AllFuture<'_, Self, F>
Tests if every element of the stream matches a predicate. Read more
Source§fn any<F>(&mut self, f: F) -> AnyFuture<'_, Self, F>
fn any<F>(&mut self, f: F) -> AnyFuture<'_, Self, F>
Tests if any element of the stream matches a predicate. Read more
Source§fn chain<U>(self, other: U) -> Chain<Self, U>
fn chain<U>(self, other: U) -> Chain<Self, U>
Combine two streams into one by first returning all values from the
first stream then all values from the second stream. Read more
Source§fn fold<B, F>(self, init: B, f: F) -> FoldFuture<Self, B, F>
fn fold<B, F>(self, init: B, f: F) -> FoldFuture<Self, B, F>
A combinator that applies a function to every element in a stream
producing a single, final value. Read more
Source§fn collect<T>(
self,
) -> Collect<Self, T, <T as FromStreamPriv<Self::Item>>::InternalCollection>
fn collect<T>( self, ) -> Collect<Self, T, <T as FromStreamPriv<Self::Item>>::InternalCollection>
Drain stream pushing all emitted values into a collection. Read more
Source§fn timeout(self, duration: Duration) -> Timeout<Self>where
Self: Sized,
fn timeout(self, duration: Duration) -> Timeout<Self>where
Self: Sized,
Applies a per-item timeout to the passed stream. Read more
Source§fn timeout_repeating(self, interval: Interval) -> TimeoutRepeating<Self>where
Self: Sized,
fn timeout_repeating(self, interval: Interval) -> TimeoutRepeating<Self>where
Self: Sized,
Applies a per-item timeout to the passed stream. Read more
Source§fn throttle(self, duration: Duration) -> Throttle<Self>where
Self: Sized,
fn throttle(self, duration: Duration) -> Throttle<Self>where
Self: Sized,
Slows down a stream by enforcing a delay between items. Read more
Source§fn chunks_timeout(
self,
max_size: usize,
duration: Duration,
) -> ChunksTimeout<Self>where
Self: Sized,
fn chunks_timeout(
self,
max_size: usize,
duration: Duration,
) -> ChunksTimeout<Self>where
Self: Sized,
Batches the items in the given stream using a maximum duration and size for each batch. Read more