Corpus

Trait Corpus 

Source
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§

Source

fn ingest(&mut self, record: IngestRecord) -> Result<RecordId>

Ingest a record into the corpus.

Source

fn ingest_batch(&mut self, records: Vec<IngestRecord>) -> Result<Vec<RecordId>>

Ingest multiple records.

Source

fn update_outcome(&mut self, id: &RecordId, outcome: f64) -> Result<()>

Update outcome statistics for a record.

Source

fn remove(&mut self, id: &RecordId) -> Result<bool>

Remove a record from the corpus.

Source

fn get(&self, id: &RecordId) -> Option<MemoryRecord>

Get a record by ID.

Source

fn size(&self) -> usize

Get corpus size.

Implementors§