pub struct NamespaceCommitEngine { /* private fields */ }Implementations§
Source§impl NamespaceCommitEngine
impl NamespaceCommitEngine
pub fn new(namespace_id: NamespaceId) -> Self
Sourcepub fn writer_session(self, session: SharedWriterSessionState) -> Self
pub fn writer_session(self, session: SharedWriterSessionState) -> Self
Attaches the runtime’s session state for this namespace, so the acquired epoch and fencing outlive this engine instance.
pub fn table_cache(self, table_cache: Arc<MetadataTableCache>) -> Self
pub fn invalidate(&mut self)
Sourcepub fn retained_tail_weight(&self) -> Option<PublishTailWeight>
pub fn retained_tail_weight(&self) -> Option<PublishTailWeight>
What the tail projection this engine retains weighs, or None when
it retains none.
A runtime holding one engine per namespace bounds its total retention
with this; the per-projection ceiling in PublishTailOptions only
bounds one.
Sourcepub async fn delete_namespace<S: ObjectStore + ?Sized>(
&mut self,
store: &S,
options: DeleteNamespaceOptions,
context: &MutationContext,
) -> Result<DeleteNamespaceResponse, Error>
pub async fn delete_namespace<S: ObjectStore + ?Sized>( &mut self, store: &S, options: DeleteNamespaceOptions, context: &MutationContext, ) -> Result<DeleteNamespaceResponse, Error>
Deletes the namespace through this session (format spec, “Tombstones and deletion”).
Deletion is a head-advancing write, so it takes the same session gate
as Self::publish_batch: a fenced session is refused terminally
without touching the store, and the epoch acquired for publishing is
the epoch the tombstone swap is fenced by. A takeover observed by the
swap fences this session for good.
pub async fn publish_batch<S: ObjectStore + ?Sized>( &mut self, store: &S, candidates: Vec<CommitCandidate>, context: &MutationContext, tail_options: &PublishTailOptions, ) -> NamespaceCommitEnginePublishResult
Trait Implementations§
Source§impl Clone for NamespaceCommitEngine
impl Clone for NamespaceCommitEngine
Source§fn clone(&self) -> NamespaceCommitEngine
fn clone(&self) -> NamespaceCommitEngine
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for NamespaceCommitEngine
impl !UnwindSafe for NamespaceCommitEngine
impl Freeze for NamespaceCommitEngine
impl Send for NamespaceCommitEngine
impl Sync for NamespaceCommitEngine
impl Unpin for NamespaceCommitEngine
impl UnsafeUnpin for NamespaceCommitEngine
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
Converts
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>
Converts
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 more