pub enum CommitBatching {
Off,
On {
max_commits: NonZeroUsize,
max_bytes: u64,
},
}Expand description
Group-commit batching policy for the single per-graph committer thread.
Default Off.
Composes with crate::SharedGraphBuilder::with_wal: the committer-managed
WAL is always driven in SyncPolicy::OnFlushOnly
regardless of the WalConfig passed (the committer owns
fsync), so the chosen CommitBatching policy — not the WalConfig —
determines how many commits coalesce into one fsync.
Variants§
Off
One append + one fsync per commit. Behaviorally identical to BRIEF 1 (durable-before-visible, same crash semantics, one fsync per commit). The default.
On
Coalesce up to max_commits contiguous commits (capped by aggregate
max_bytes) into one group fsync. A single commit larger than max_bytes
is still taken alone (the >= 1 progress rule), so the byte cap only
bounds accumulation and never rejects a commit.
Fields
max_commits: NonZeroUsizeMaximum number of contiguous commits coalesced into one fsync.
Implementations§
Source§impl CommitBatching
impl CommitBatching
Sourcepub const DEFAULT_ON: Self
pub const DEFAULT_ON: Self
Conventional ON policy: coalesce up to 64 commits / 8 MiB aggregate.
Trait Implementations§
Source§impl Clone for CommitBatching
impl Clone for CommitBatching
Source§fn clone(&self) -> CommitBatching
fn clone(&self) -> CommitBatching
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for CommitBatching
Source§impl Debug for CommitBatching
impl Debug for CommitBatching
Source§impl Default for CommitBatching
impl Default for CommitBatching
Source§fn default() -> CommitBatching
fn default() -> CommitBatching
impl Eq for CommitBatching
Source§impl PartialEq for CommitBatching
impl PartialEq for CommitBatching
Source§fn eq(&self, other: &CommitBatching) -> bool
fn eq(&self, other: &CommitBatching) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for CommitBatching
Auto Trait Implementations§
impl Freeze for CommitBatching
impl RefUnwindSafe for CommitBatching
impl Send for CommitBatching
impl Sync for CommitBatching
impl Unpin for CommitBatching
impl UnsafeUnpin for CommitBatching
impl UnwindSafe for CommitBatching
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.