pub enum CorpusEvent {
Created {
corpus_id: CorpusId,
codec_config: CodecConfig,
compression_policy: CompressionPolicy,
timestamp: Timestamp,
},
VectorsInserted {
corpus_id: CorpusId,
vector_ids: Arc<[VectorId]>,
count: u32,
timestamp: Timestamp,
},
Decompressed {
corpus_id: CorpusId,
vector_count: u32,
timestamp: Timestamp,
},
PolicyViolationDetected {
corpus_id: CorpusId,
kind: ViolationKind,
detail: Arc<str>,
timestamp: Timestamp,
},
}Expand description
A domain event emitted by the Corpus aggregate.
Events are buffered in pending_events and drained atomically by
Corpus::drain_events.
Variants§
Created
Emitted once when a new Corpus is successfully constructed.
Python parity: CorpusCreated.
Fields
codec_config: CodecConfigThe codec configuration active at construction time.
compression_policy: CompressionPolicyThe compression policy set at construction time.
VectorsInserted
Emitted after one or more vectors are successfully inserted.
A single VectorsInserted event covers the entire batch on
insert_batch success; insert emits exactly one event per call.
Python parity: VectorsInserted.
Fields
Decompressed
Emitted after decompress_all succeeds.
Single-vector decompress does not emit an event (Python parity).
Python parity: CorpusDecompressed.
Fields
PolicyViolationDetected
Emitted when a policy or dimension violation is detected but the operation is not immediately fatal (e.g., logging path).
Python parity: CompressionPolicyViolationDetected.
Trait Implementations§
Source§impl Clone for CorpusEvent
impl Clone for CorpusEvent
Source§fn clone(&self) -> CorpusEvent
fn clone(&self) -> CorpusEvent
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more