pub struct HotStore {
db: DBWithThreadMode<SingleThreaded>,
}Expand description
RocksDB-backed persistent storage for the hot tier.
Implements StorageBackend with data surviving process restarts.
§Example
use cvx_core::{StorageBackend, TemporalPoint};
use cvx_storage::hot::HotStore;
let store = HotStore::open("/tmp/cvx-test").unwrap();
let point = TemporalPoint::new(42, 1000, vec![0.1, 0.2, 0.3]);
store.put(0, &point).unwrap();
let retrieved = store.get(42, 0, 1000).unwrap();
assert_eq!(retrieved, Some(point));Fields§
§db: DBWithThreadMode<SingleThreaded>Implementations§
Source§impl HotStore
impl HotStore
Sourcepub fn open<P: AsRef<Path>>(path: P) -> Result<Self, StorageError>
pub fn open<P: AsRef<Path>>(path: P) -> Result<Self, StorageError>
Open or create a HotStore at the given path.
Sourcefn vectors_cf_options() -> Options
fn vectors_cf_options() -> Options
Configure the vectors column family.
Sourcefn timelines_cf_options() -> Options
fn timelines_cf_options() -> Options
Configure the timelines column family.
Sourcefn vectors_cf(&self) -> &ColumnFamily
fn vectors_cf(&self) -> &ColumnFamily
Get the CF handle for vectors.
Sourcefn timelines_cf(&self) -> &ColumnFamily
fn timelines_cf(&self) -> &ColumnFamily
Get the CF handle for timelines.
Sourcefn serialize_vector(vector: &[f32]) -> Vec<u8> ⓘ
fn serialize_vector(vector: &[f32]) -> Vec<u8> ⓘ
Serialize a vector to raw bytes (native f32 layout).
Sourcefn deserialize_vector(bytes: &[u8]) -> Vec<f32>
fn deserialize_vector(bytes: &[u8]) -> Vec<f32>
Deserialize raw bytes back to a vector.
Sourcefn update_timeline(
&self,
entity_id: u64,
space_id: u32,
timestamp: i64,
) -> Result<(), StorageError>
fn update_timeline( &self, entity_id: u64, space_id: u32, timestamp: i64, ) -> Result<(), StorageError>
Update the timeline metadata for an entity after a put.
Sourcepub fn get_timeline(
&self,
entity_id: u64,
space_id: u32,
) -> Result<Option<EntityTimeline>, StorageError>
pub fn get_timeline( &self, entity_id: u64, space_id: u32, ) -> Result<Option<EntityTimeline>, StorageError>
Get the timeline metadata for an entity in a space.
Trait Implementations§
Source§impl StorageBackend for HotStore
impl StorageBackend for HotStore
Source§fn get(
&self,
entity_id: u64,
space_id: u32,
timestamp: i64,
) -> Result<Option<TemporalPoint>, StorageError>
fn get( &self, entity_id: u64, space_id: u32, timestamp: i64, ) -> Result<Option<TemporalPoint>, StorageError>
Retrieve a single point by entity, space, and timestamp.
Source§fn put(&self, space_id: u32, point: &TemporalPoint) -> Result<(), StorageError>
fn put(&self, space_id: u32, point: &TemporalPoint) -> Result<(), StorageError>
Store a temporal point.
Auto Trait Implementations§
impl Freeze for HotStore
impl RefUnwindSafe for HotStore
impl Send for HotStore
impl Sync for HotStore
impl Unpin for HotStore
impl UnwindSafe for HotStore
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