#![doc = document_features::document_features!()]
mod events;
mod gc;
mod query;
mod stats;
mod store;
mod subscribers;
mod writes;
pub use self::events::{ChunkStoreDiff, ChunkStoreDiffKind, ChunkStoreEvent};
pub use self::gc::{GarbageCollectionOptions, GarbageCollectionTarget};
pub use self::stats::{ChunkStoreChunkStats, ChunkStoreStats};
pub use self::store::{ChunkStore, ChunkStoreConfig, ChunkStoreGeneration};
pub use self::subscribers::{ChunkStoreSubscriber, ChunkStoreSubscriberHandle};
#[doc(no_inline)]
pub use re_chunk::{
Chunk, ChunkId, ChunkShared, LatestAtQuery, RangeQuery, RangeQueryOptions, RowId,
UnitChunkShared,
};
#[doc(no_inline)]
pub use re_log_types::{ResolvedTimeRange, TimeInt, TimeType, Timeline};
pub mod external {
pub use re_chunk;
}
#[derive(thiserror::Error, Debug)]
pub enum ChunkStoreError {
#[error("Chunks must be sorted before insertion in the chunk store")]
UnsortedChunk,
#[error(transparent)]
Chunk(#[from] re_chunk::ChunkError),
#[error("Failed to parse config: '{name}={value}': {err}")]
ParseConfig {
name: &'static str,
value: String,
err: Box<dyn std::error::Error + Send + Sync>,
},
}
pub type ChunkStoreResult<T> = ::std::result::Result<T, ChunkStoreError>;