pub struct DualCacheFF<K, V, S = RandomState> {
pub hasher: S,
pub t1: Arc<T1<K, V>>,
pub t2: Arc<T2<K, V>>,
pub cache: Arc<Cache<K, V>>,
pub cmd_tx: Sender<Command<K, V>>,
pub hit_tx: Sender<[usize; 64]>,
pub epoch: Arc<AtomicU32>,
pub worker_states: Arc<[WorkerState]>,
pub miss_buffers: Arc<[WorkerSlot<K, V>]>,
}Fields§
§hasher: S§t1: Arc<T1<K, V>>§t2: Arc<T2<K, V>>§cache: Arc<Cache<K, V>>§cmd_tx: Sender<Command<K, V>>§hit_tx: Sender<[usize; 64]>§epoch: Arc<AtomicU32>§worker_states: Arc<[WorkerState]>QSBR registry for each worker.
miss_buffers: Arc<[WorkerSlot<K, V>]>Per-worker zero-lock batch buffers, indexed by WORKER_ID.
Implementations§
Source§impl<K, V> DualCacheFF<K, V, RandomState>
impl<K, V> DualCacheFF<K, V, RandomState>
Source§impl<K, V, S> DualCacheFF<K, V, S>
impl<K, V, S> DualCacheFF<K, V, S>
Trait Implementations§
Auto Trait Implementations§
impl<K, V, S> Freeze for DualCacheFF<K, V, S>where
S: Freeze,
impl<K, V, S = RandomState> !RefUnwindSafe for DualCacheFF<K, V, S>
impl<K, V, S> Send for DualCacheFF<K, V, S>
impl<K, V, S> Sync for DualCacheFF<K, V, S>
impl<K, V, S> Unpin for DualCacheFF<K, V, S>where
S: Unpin,
impl<K, V, S> UnsafeUnpin for DualCacheFF<K, V, S>where
S: UnsafeUnpin,
impl<K, V, S = RandomState> !UnwindSafe for DualCacheFF<K, V, S>
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