pub struct MemoryTrigger { /* private fields */ }Expand description
Memory trigger for benchmarking.
Provides zero-overhead event injection for performance testing.
Events are injected directly via MemoryInjector.
§Configuration
triggers:
- id: bench_trigger
type: trigger::memory
params:
buffer_size: 10000§Parameters
buffer_size- Maximum events to buffer (default: 1000)
§Usage
ⓘ
let trigger = MemoryTrigger::new("bench");
// Start the trigger...
let injector = trigger.injector().unwrap();
// Inject events for benchmarking
for _ in 0..1000 {
injector.inject_empty().await?;
}Implementations§
Source§impl MemoryTrigger
impl MemoryTrigger
Sourcepub fn from_config(config: &TriggerConfig) -> Result<Self>
pub fn from_config(config: &TriggerConfig) -> Result<Self>
Create from configuration.
Sourcepub fn with_buffer_size(self, size: usize) -> Self
pub fn with_buffer_size(self, size: usize) -> Self
Set the buffer size.
Sourcepub fn injector(&self) -> Option<MemoryInjector>
pub fn injector(&self) -> Option<MemoryInjector>
Get an injector for sending events.
Returns None if the trigger hasn’t been started.
Sourcepub fn event_count(&self) -> u64
pub fn event_count(&self) -> u64
Get the number of events processed.
Sourcepub fn reset_count(&self)
pub fn reset_count(&self)
Reset the event counter.
Trait Implementations§
Source§impl Trigger for MemoryTrigger
impl Trigger for MemoryTrigger
Source§fn trigger_type(&self) -> TriggerType
fn trigger_type(&self) -> TriggerType
Get the trigger type.
Source§fn start<'a>(
&'a self,
callback: Box<dyn Fn(TriggerEvent) + Send + Sync + 'static>,
) -> TriggerFuture<'a, ()>
fn start<'a>( &'a self, callback: Box<dyn Fn(TriggerEvent) + Send + Sync + 'static>, ) -> TriggerFuture<'a, ()>
Start the trigger. Read more
Source§fn stop<'a>(&'a self) -> TriggerFuture<'a, ()>
fn stop<'a>(&'a self) -> TriggerFuture<'a, ()>
Stop the trigger.
Source§fn pause<'a>(&'a self) -> TriggerFuture<'a, ()>
fn pause<'a>(&'a self) -> TriggerFuture<'a, ()>
Pause the trigger (stop accepting new events).
Source§fn resume<'a>(&'a self) -> TriggerFuture<'a, ()>
fn resume<'a>(&'a self) -> TriggerFuture<'a, ()>
Resume the trigger.
Source§fn is_running(&self) -> bool
fn is_running(&self) -> bool
Check if the trigger is running.
Auto Trait Implementations§
impl Freeze for MemoryTrigger
impl !RefUnwindSafe for MemoryTrigger
impl Send for MemoryTrigger
impl Sync for MemoryTrigger
impl Unpin for MemoryTrigger
impl !UnwindSafe for MemoryTrigger
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.