pub struct InputAdmission { /* private fields */ }Expand description
Input admission pipeline implementing an event-sourced lifecycle.
Validates, deduplicates, and admits inputs before they enter the run
loop. Emits lifecycle events (Submitted, Admitted, Rejected,
Processing, Completed) that can be consumed by downstream observers.
§Lifecycle
Submitted → Admitted → Processing → Completed
↓
RejectedImplementations§
Source§impl InputAdmission
impl InputAdmission
Sourcepub fn new(config: InputAdmissionConfig) -> Self
pub fn new(config: InputAdmissionConfig) -> Self
Creates a new input admission pipeline.
Sourcepub fn admit(
&self,
record: &mut InputRecord,
) -> Result<Vec<InputEvent>, InputAdmissionError>
pub fn admit( &self, record: &mut InputRecord, ) -> Result<Vec<InputEvent>, InputAdmissionError>
Admits an input record, returning events generated.
If the input is rejected, the record is mutated and a Rejected event is returned.
If admitted, an Admitted event is returned.
§Errors
Returns InputAdmissionError if the lock is poisoned.
Sourcepub fn mark_processing(&self, record: &mut InputRecord) -> InputEvent
pub fn mark_processing(&self, record: &mut InputRecord) -> InputEvent
Marks an input as processing.
Sourcepub fn mark_completed(&self, record: &mut InputRecord) -> InputEvent
pub fn mark_completed(&self, record: &mut InputRecord) -> InputEvent
Marks an input as completed.
Sourcepub fn clear_cache(&self) -> Result<(), InputAdmissionError>
pub fn clear_cache(&self) -> Result<(), InputAdmissionError>
Clears the deduplication cache.
§Errors
Returns InputAdmissionError::LockPoisoned if the internal
fingerprint mutex has been poisoned by a panicking thread.
Auto Trait Implementations§
impl !Freeze for InputAdmission
impl RefUnwindSafe for InputAdmission
impl Send for InputAdmission
impl Sync for InputAdmission
impl Unpin for InputAdmission
impl UnsafeUnpin for InputAdmission
impl UnwindSafe for InputAdmission
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