Skip to main content

AnyStoredVec

Trait AnyStoredVec 

Source
pub trait AnyStoredVec: AnyVec {
Show 17 methods // Required methods fn db_path(&self) -> PathBuf; fn region(&self) -> &Region; fn header(&self) -> &Header; fn mut_header(&mut self) -> &mut Header; fn saved_stamped_changes(&self) -> u16; fn real_stored_len(&self) -> usize; fn stored_len(&self) -> usize; fn any_stamped_write_with_changes(&mut self, stamp: Stamp) -> Result<()>; fn serialize_changes(&self) -> Result<Vec<u8>>; fn remove(self) -> Result<()>; fn any_truncate_if_needed_at(&mut self, index: usize) -> Result<()>; fn any_reset(&mut self) -> Result<()>; // Provided methods fn flush(&mut self) -> Result<()> { ... } fn update_stamp(&mut self, stamp: Stamp) { ... } fn stamp(&self) -> Stamp { ... } fn stamped_write(&mut self, stamp: Stamp) -> Result<()> { ... } fn any_stamped_write_maybe_with_changes( &mut self, stamp: Stamp, with_changes: bool, ) -> Result<()> { ... }
}
Expand description

Trait for stored vectors that persist data to disk (as opposed to lazy computed vectors).

Required Methods§

Source

fn db_path(&self) -> PathBuf

Source

fn region(&self) -> &Region

Source

fn header(&self) -> &Header

Source

fn mut_header(&mut self) -> &mut Header

Source

fn saved_stamped_changes(&self) -> u16

Number of stamped change files to keep for rollback support.

Source

fn real_stored_len(&self) -> usize

The actual length stored on disk.

Source

fn stored_len(&self) -> usize

The effective stored length (may differ from real_stored_len during truncation).

Source

fn any_stamped_write_with_changes(&mut self, stamp: Stamp) -> Result<()>

Flushes with the given stamp, saving changes to enable rollback. Prefixed with any_ to avoid conflict with WritableVec::stamped_write_with_changes.

Source

fn serialize_changes(&self) -> Result<Vec<u8>>

Source

fn remove(self) -> Result<()>

Removes this vector’s region from the database.

Source

fn any_truncate_if_needed_at(&mut self, index: usize) -> Result<()>

Truncates the vector to the given length if it is longer. Prefixed with any_ to avoid conflict with WritableVec::truncate_if_needed_at.

Source

fn any_reset(&mut self) -> Result<()>

Resets the vector state, clearing all data.

Provided Methods§

Source

fn flush(&mut self) -> Result<()>

Source

fn update_stamp(&mut self, stamp: Stamp)

Source

fn stamp(&self) -> Stamp

Source

fn stamped_write(&mut self, stamp: Stamp) -> Result<()>

Source

fn any_stamped_write_maybe_with_changes( &mut self, stamp: Stamp, with_changes: bool, ) -> Result<()>

Flushes with the given stamp, optionally saving changes for rollback.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<I, T, S> AnyStoredVec for ReadWriteRawVec<I, T, S>
where I: VecIndex, T: VecValue, S: RawStrategy<T>,

Source§

impl<I, T> AnyStoredVec for BytesVec<I, T>
where I: VecIndex, T: BytesVecValue,

Source§

impl<I, T> AnyStoredVec for LZ4Vec<I, T>
where I: VecIndex, T: LZ4VecValue,

Source§

impl<I, T> AnyStoredVec for PcoVec<I, T>
where I: VecIndex, T: PcoVecValue,

Source§

impl<I, T> AnyStoredVec for ZeroCopyVec<I, T>

Source§

impl<I, T> AnyStoredVec for ZstdVec<I, T>
where I: VecIndex, T: ZstdVecValue,

Source§

impl<V> AnyStoredVec for EagerVec<V>
where V: StoredVec,