1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
use crate::allocator::Allocator;
use crate::backing_store::PartitionStore;
use crate::objects::CommittedObjects;
use crate::objects::IncompleteObjects;
use crate::pages::Pages;
use crate::tuples::Tuples;
use cadence::StatsdClient;
use parking_lot::Mutex;
use std::sync::atomic::AtomicU64;
use std::sync::Arc;

pub(crate) struct Ctx {
  pub committed_objects: CommittedObjects,
  pub device: PartitionStore,
  pub heap_allocator: Mutex<Allocator>,
  pub incomplete_objects: IncompleteObjects,
  pub next_object_id: AtomicU64,
  pub pages: Pages,
  pub partition_idx: usize,
  pub statsd: Option<Arc<StatsdClient>>,
  pub tuples: Tuples,
}