pub struct TrafficAnalyzer { /* private fields */ }Expand description
Traffic analyzer
Implementations§
Source§impl TrafficAnalyzer
impl TrafficAnalyzer
Sourcepub fn new(config: TrafficAnalyzerConfig) -> Self
pub fn new(config: TrafficAnalyzerConfig) -> Self
Create a new traffic analyzer
Sourcepub fn record_connection(&mut self, peer_id: String, bytes: u64)
pub fn record_connection(&mut self, peer_id: String, bytes: u64)
Record a connection event
Sourcepub fn record_query(
&mut self,
peer_id: String,
latency: Duration,
success: bool,
)
pub fn record_query( &mut self, peer_id: String, latency: Duration, success: bool, )
Record a query event
Sourcepub fn record_bandwidth(&mut self, bytes_sent: u64, bytes_received: u64)
pub fn record_bandwidth(&mut self, bytes_sent: u64, bytes_received: u64)
Record bandwidth usage
Sourcepub fn analyze(&self) -> Result<TrafficAnalysis, TrafficAnalyzerError>
pub fn analyze(&self) -> Result<TrafficAnalysis, TrafficAnalyzerError>
Analyze traffic and return results
Sourcepub fn get_stats(&self) -> TrafficAnalyzerStats
pub fn get_stats(&self) -> TrafficAnalyzerStats
Get current statistics
Auto Trait Implementations§
impl Freeze for TrafficAnalyzer
impl RefUnwindSafe for TrafficAnalyzer
impl Send for TrafficAnalyzer
impl Sync for TrafficAnalyzer
impl Unpin for TrafficAnalyzer
impl UnwindSafe for TrafficAnalyzer
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more