pub struct CaptureWorker { /* private fields */ }Expand description
Fixed-capacity worker. Enqueue is always try_send; persistence never runs
on the turn-completion or compaction-transition path.
Implementations§
Source§impl CaptureWorker
impl CaptureWorker
pub fn new(capacity: usize) -> Self
Sourcepub fn submit_terminal(
&self,
lease: &MemoryContextLease,
history: TerminalTurnHistory,
retention: RetentionClass,
provider: Arc<dyn CaptureProvider>,
) -> Result<bool, CaptureBuildError>
pub fn submit_terminal( &self, lease: &MemoryContextLease, history: TerminalTurnHistory, retention: RetentionClass, provider: Arc<dyn CaptureProvider>, ) -> Result<bool, CaptureBuildError>
Apply lease capability and capture gates, build the bounded payload, and
attempt a nonblocking enqueue. Ok(false) means capture was gated off.
Sourcepub fn submit_summary(
&self,
lease: &MemoryContextLease,
source: CompactionSource,
source_message_count: usize,
summary_text: &str,
redaction_policy: RedactionPolicy,
retention: RetentionClass,
provider: Arc<dyn CaptureProvider>,
) -> Result<bool, SummaryCaptureBuildError>
pub fn submit_summary( &self, lease: &MemoryContextLease, source: CompactionSource, source_message_count: usize, summary_text: &str, redaction_policy: RedactionPolicy, retention: RetentionClass, provider: Arc<dyn CaptureProvider>, ) -> Result<bool, SummaryCaptureBuildError>
Apply the same exact lease gate as turn capture, build a bounded first-class compaction memory, and attempt a nonblocking enqueue.
pub fn overflow_drops(&self) -> u64
pub fn provider_failures(&self) -> u64
Auto Trait Implementations§
impl Freeze for CaptureWorker
impl RefUnwindSafe for CaptureWorker
impl Send for CaptureWorker
impl Sync for CaptureWorker
impl Unpin for CaptureWorker
impl UnsafeUnpin for CaptureWorker
impl UnwindSafe for CaptureWorker
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.