pub struct CatalogManifestStore { /* private fields */ }Expand description
Catalog view over the same append-only authority used for leader fencing.
Implementations§
Source§impl CatalogManifestStore
impl CatalogManifestStore
Sourcepub fn new(authority: Arc<LeaderLeaseStore>) -> Self
pub fn new(authority: Arc<LeaderLeaseStore>) -> Self
Share the exact append-only authority used by the leader lease manager.
Sourcepub async fn load(
&self,
) -> Result<Option<CatalogManifest>, CatalogManifestError>
pub async fn load( &self, ) -> Result<Option<CatalogManifest>, CatalogManifestError>
Load the sealed catalog, or None before the first successful seal.
§Errors
Fails on object-store I/O, malformed JSON, or an invalid inventory.
Sourcepub async fn seal(
&self,
manifest: &CatalogManifest,
proof: &LeaderProof,
) -> Result<CatalogSealOutcome, CatalogManifestError>
pub async fn seal( &self, manifest: &CatalogManifest, proof: &LeaderProof, ) -> Result<CatalogSealOutcome, CatalogManifestError>
CAS-append the first inventory under an exact leader proof.
A concurrent exact inventory is idempotent. Any different winner fails closed.
§Errors
Fails for an invalid proposal, divergent winner, or object-store I/O.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for CatalogManifestStore
impl !UnwindSafe for CatalogManifestStore
impl Freeze for CatalogManifestStore
impl Send for CatalogManifestStore
impl Sync for CatalogManifestStore
impl Unpin for CatalogManifestStore
impl UnsafeUnpin for CatalogManifestStore
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.