pub struct ProtocolMetricCache {
cid: String,
m: Arc<ProtocolMetrics>,
cache: HashMap<Sid, CacheLine>,
sdata_frames_t: GenericCounter<AtomicU64>,
sdata_frames_b: GenericCounter<AtomicU64>,
rdata_frames_t: GenericCounter<AtomicU64>,
rdata_frames_b: GenericCounter<AtomicU64>,
ping: GenericGauge<AtomicI64>,
}
Expand description
Cache for ProtocolMetrics
, more optimized and cleared up after channel
disconnect.
Fields§
§cid: String
§m: Arc<ProtocolMetrics>
§cache: HashMap<Sid, CacheLine>
§sdata_frames_t: GenericCounter<AtomicU64>
§sdata_frames_b: GenericCounter<AtomicU64>
§rdata_frames_t: GenericCounter<AtomicU64>
§rdata_frames_b: GenericCounter<AtomicU64>
§ping: GenericGauge<AtomicI64>
Implementations§
source§impl ProtocolMetricCache
impl ProtocolMetricCache
pub fn new(channel_key: &str, metrics: Arc<ProtocolMetrics>) -> Self
pub(crate) fn init_sid(&mut self, sid: Sid) -> &CacheLine
pub(crate) fn smsg_ib(&mut self, sid: Sid, bytes: u64)
pub(crate) fn smsg_ob(&mut self, sid: Sid, reason: RemoveReason, bytes: u64)
pub(crate) fn sdata_frames_b(&mut self, cnt: u64, bytes: u64)
pub(crate) fn rmsg_ib(&mut self, sid: Sid, bytes: u64)
pub(crate) fn rmsg_ob(&mut self, sid: Sid, reason: RemoveReason, bytes: u64)
pub(crate) fn rdata_frames_b(&mut self, bytes: u64)
Trait Implementations§
source§impl Clone for ProtocolMetricCache
impl Clone for ProtocolMetricCache
source§fn clone(&self) -> ProtocolMetricCache
fn clone(&self) -> ProtocolMetricCache
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for ProtocolMetricCache
impl Debug for ProtocolMetricCache
Auto Trait Implementations§
impl Freeze for ProtocolMetricCache
impl !RefUnwindSafe for ProtocolMetricCache
impl Send for ProtocolMetricCache
impl Sync for ProtocolMetricCache
impl Unpin for ProtocolMetricCache
impl !UnwindSafe for ProtocolMetricCache
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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