fast_cache/storage/
embedded_store_sharded.rs1use std::cell::RefCell;
2use std::fmt;
3use std::marker::PhantomData;
4use std::ops::ControlFlow;
5use std::rc::Rc;
6
7use crate::cuda::{
8 CudaChunkTransferHit, CudaSessionChunkEvent, CudaSessionTransferRequest,
9 CudaSessionTransferStats,
10};
11use crate::storage::{
12 Bytes, EmbeddedKeyRoute, EmbeddedReadSlice, EmbeddedRouteMode, EmbeddedSessionRoute,
13 EmbeddedStore, OwnedEmbeddedBatchReadView, OwnedEmbeddedReadView,
14 OwnedEmbeddedSessionPackedView, OwnedEmbeddedWorkerShards, PackedBatch, PackedSessionWrite,
15 PreparedPointKey, TierStatsSnapshot,
16};
17
18thread_local! {
19 static THREAD_LOCAL_EMBEDDED_STORE: RefCell<Option<WorkerLocalEmbeddedStore>> = const { RefCell::new(None) };
20}
21
22#[derive(Debug)]
34pub struct WorkerLocalEmbeddedStore {
35 inner: OwnedEmbeddedWorkerShards,
36}
37
38#[derive(Debug)]
44pub struct WorkerLocalEmbeddedStoreBootstrap {
45 stores: Vec<WorkerLocalEmbeddedStore>,
46}
47mod bootstrap;
48mod core;
49mod errors;
50mod lifecycle;
51mod read;
52#[cfg(test)]
53mod tests;
54mod thread_local;
55mod views;
56mod write;
57
58pub use errors::{LocalRouteError, LocalStoreAccessError, LocalStoreInstallError};
59pub use thread_local::{take_thread_local_embedded_store, with_thread_local_embedded_store};
60use views::worker_local_batch_view_from_embedded;
61pub use views::{
62 WorkerLocalBatchReadView, WorkerLocalReadSlice, WorkerLocalReadView,
63 WorkerLocalSessionBatchView,
64};