Skip to main content

Crate oxistore_core

Crate oxistore_core 

Source
Expand description

oxistore-core — Pure Rust storage primitives for OxiStore.

This crate provides the foundational traits and error types shared across all OxiStore backends. It is intentionally dependency-free.

§Key Traits

  • KvStore — key-value store with reads, writes, range scans, transactions, and snapshots.
  • KvTxn — explicit write transaction (commit / rollback).
  • KvSnapshot — point-in-time read-only view.
  • ColumnarStore — stub for M2+ columnar storage.
  • BlobStore — stub for M4+ blob storage.

Structs§

StoreConfig
Backend-agnostic configuration for opening a store.
StoreMetrics
Runtime statistics for a store (reads, writes, cache hits, etc.).

Enums§

StoreError
Errors that can be returned by any OxiStore backend.

Traits§

BlobStore
Marker trait for blob stores that is compatible with oxistore-blob::BlobStore.
ColumnarStore
Stub trait for M2+ columnar store — defined here so facade re-exports remain stable.
KvSnapshot
A point-in-time read-only view of the store obtained from KvStore::snapshot.
KvStore
Core key-value store trait.
KvTxn
An explicit write transaction obtained from KvStore::transaction.

Functions§

ensure_parent_dir
Ensure the path’s parent directory exists, creating it if necessary.
expiry_epoch_millis
Encode a TTL as an expiry unix-epoch-milliseconds u64.
is_expired
Return true if an epoch-milliseconds timestamp is in the past.
prefix_upper_bound
Compute the exclusive upper-bound key for a prefix scan.

Type Aliases§

BoxKvStore
Convenience alias: a heap-allocated KvStore with 'static lifetime.
KeysIter
A boxed iterator over keys (without values) with a given lifetime.
RangeItem
A single item produced by a range scan: a (key, value) pair or an error.
RangeIter
A boxed iterator over RangeItems with a given lifetime.