pub trait Corpus: Send + Sync {
// Required methods
fn ingest(&mut self, record: IngestRecord) -> Result<RecordId>;
fn ingest_batch(
&mut self,
records: Vec<IngestRecord>,
) -> Result<Vec<RecordId>>;
fn update_outcome(&mut self, id: &RecordId, outcome: f64) -> Result<()>;
fn remove(&mut self, id: &RecordId) -> Result<bool>;
fn get(&self, id: &RecordId) -> Option<MemoryRecord>;
fn size(&self) -> usize;
}Expand description
Trait for record storage.
Required Methods§
Sourcefn ingest(&mut self, record: IngestRecord) -> Result<RecordId>
fn ingest(&mut self, record: IngestRecord) -> Result<RecordId>
Ingest a record into the corpus.
Sourcefn ingest_batch(&mut self, records: Vec<IngestRecord>) -> Result<Vec<RecordId>>
fn ingest_batch(&mut self, records: Vec<IngestRecord>) -> Result<Vec<RecordId>>
Ingest multiple records.
Sourcefn update_outcome(&mut self, id: &RecordId, outcome: f64) -> Result<()>
fn update_outcome(&mut self, id: &RecordId, outcome: f64) -> Result<()>
Update outcome statistics for a record.
Sourcefn get(&self, id: &RecordId) -> Option<MemoryRecord>
fn get(&self, id: &RecordId) -> Option<MemoryRecord>
Get a record by ID.