pub(super) struct FCJob<'job> {
    pub(super) db: &'job DB,
    pub(super) db_state_guard: RwLockReadGuard<'job, DbState>,
    pub(super) dangling_nodes: &'job mut DanglingNodeSetsDeque,
}
Expand description

A struct that contains references that are used over the course of one run of flushing+compaction.

This type is necessary iff the run makes 1+ const references and 1+ mut references to fields within struct FlushingAndCompactionWorker.

Fields§

§db: &'job DB§db_state_guard: RwLockReadGuard<'job, DbState>§dangling_nodes: &'job mut DanglingNodeSetsDeque

Implementations§

source§

impl<'job> FCJob<'job>

source

pub(super) fn do_flush_and_compact<'data>( &self, units: Vec<&'data CommittedUnit>, skip_tombstones: bool ) -> Result<CompactionResult>

source

fn should_slice_be_compacted<'data>(units: &[&'data CommittedUnit]) -> bool

A given slice of Units should be compacted iff any of:

  • The slice contains 1+ MemLogs.
  • The slice contains 2+ Units (regardless of MemLogs or SSTables).

This is an arbitrary policy, and can be tuned in the future.

source

fn potentially_create_compacted_unit<'data>( &self, existing_units: &[&'data CommittedUnit], skip_tombstones: bool ) -> Result<Option<CompactedUnit>>

source

fn derive_kmerged_iter<'data, K, V>( entrysets: impl Iterator<Item = &'data CommittedEntrySet<K, OptDatum<V>>>, skip_tombstones: bool ) -> impl Iterator<Item = Entry<'data, K, OptDatum<V>>>
where K: 'data + Deser + Ord, OptDatum<V>: 'data + Deser,

source

fn derive_commit_info<'data>(units: &[&'data CommittedUnit]) -> CommitInfo

source§

impl<'job> FCJob<'job>

Auto Trait Implementations§

§

impl<'job> !RefUnwindSafe for FCJob<'job>

§

impl<'job> Send for FCJob<'job>

§

impl<'job> Sync for FCJob<'job>

§

impl<'job> Unpin for FCJob<'job>

§

impl<'job> !UnwindSafe for FCJob<'job>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> Erased for T