pub struct AccessRecordStream { /* private fields */ }Expand description
The bounded record queue plus its counters and enabled flag. Share
via Arc; the dataplane holds it behind an ArcSwapOption set
once at boot.
Implementations§
Source§impl AccessRecordStream
impl AccessRecordStream
Sourcepub fn with_capacity(capacity: usize) -> Arc<Self>
pub fn with_capacity(capacity: usize) -> Arc<Self>
New stream with an explicit channel capacity (the boot-time property; see the module docs).
Sourcepub fn take_receiver(&self) -> Option<Receiver<StreamRecord>>
pub fn take_receiver(&self) -> Option<Receiver<StreamRecord>>
Take the single-consumer receiver (the flusher’s end; the first caller wins).
Sourcepub fn set_enabled(&self, on: bool)
pub fn set_enabled(&self, on: bool)
Arm or disarm the offer path (the dataplane’s refresh calls
this with !targets.sinks.is_empty() every generation).
Sourcepub fn dropped(&self) -> u64
pub fn dropped(&self) -> u64
Records dropped at offer time (queue full, or the flusher
stalled behind a slow batch). The never-block posture’s honest
loss counter, surfaced as dwara_access_records_dropped_total.
Sourcepub fn offer(&self, rec: &AccessRecord)
pub fn offer(&self, rec: &AccessRecord)
The request-completion hot path (DW-121): one enabled-flag
check, one try_send. NEVER blocks; a full queue drops and
counts (throttled log, the analytics writer’s cadence). A
disabled stream returns before allocating: unconfigured means
one relaxed atomic load per request.
Auto Trait Implementations§
impl !Freeze for AccessRecordStream
impl RefUnwindSafe for AccessRecordStream
impl Send for AccessRecordStream
impl Sync for AccessRecordStream
impl Unpin for AccessRecordStream
impl UnwindSafe for AccessRecordStream
Blanket Implementations§
§impl<T> AnyExt for T
impl<T> AnyExt for T
§fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
T behind reference§fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
T behind mutable reference§fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
T behind Rc pointer§fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
T behind Arc pointer§fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
T behind Box pointer§fn downcast_move<T>(this: Self) -> Option<T>
fn downcast_move<T>(this: Self) -> Option<T>
Self to T,
useful only in generic context as a workaround for specializationSource§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
§impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
fn coerce_rc_to(self: Rc<X>) -> Rc<T>
fn coerce_box_to(self: Box<X>) -> Box<T>
fn coerce_ref_to(&self) -> &T
fn coerce_mut_to(&mut self) -> &mut T
§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>
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>
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