Skip to main content

CatalogManifestStore

Struct CatalogManifestStore 

Source
pub struct CatalogManifestStore { /* private fields */ }
Expand description

Catalog view over the same append-only authority used for leader fencing.

Implementations§

Source§

impl CatalogManifestStore

Source

pub async fn operation_status( &self, operation_id: TopologyOperationId, ) -> Result<Option<TopologyAdmissionStatus>, TopologyError>

Read the definitive payload-bound status of a reserved topology request.

§Errors

Fails on unavailable/corrupt evidence or the bounded read deadline.

Source

pub fn new(authority: Arc<LeaderLeaseStore>) -> Self

Share the exact append-only authority used by the leader lease manager.

Source

pub async fn topology_state( &self, ) -> Result<TopologyCatalogState, TopologyError>

Read explicit logical topology metadata from the same catalog/leader authority.

§Errors

Fails closed when the authority or referenced catalog/deployment is invalid.

Source

pub async fn live_topology_commit( &self, ) -> Result<Option<TopologyCommit>, TopologyError>

Commit of a topology migration that still owns startup and recovery; None once settled.

§Errors

Fails closed when the authority or referenced topology evidence is invalid.

Source

pub async fn topology_journal_usage( &self, ) -> Result<TopologyJournalUsage, TopologyError>

Retained topology request identities against the fixed journal capacity.

§Errors

Fails closed when the authority is invalid or the read exceeds its deadline.

Source

pub async fn committed_topology_subscriptions( &self, ) -> Result<Vec<OutputDistributionCertificate>, TopologyError>

Subscription certificates preserved by the newest committed migration.

§Errors

Fails closed when the authority or referenced migration root is invalid.

Source

pub async fn load_with_topology( &self, ) -> Result<Option<(CatalogManifest, TopologyCatalogState)>, TopologyError>

Load the catalog and its topology metadata from one immutable authority snapshot.

§Errors

Fails closed on missing/corrupt content or inconsistent adoption/deployment authority.

Source

pub async fn parent_topology_catalog( &self, expected_current: &CatalogManifestRef, ) -> Result<Option<CatalogManifest>, TopologyError>

Load the exact parent catalog while checking the current committed inventory.

§Errors

Rejects changed authority, invalid retained evidence or the bounded read deadline.

Source

pub async fn original_topology_catalog( &self, expected_current: &CatalogManifestRef, ) -> Result<Option<CatalogManifest>, TopologyError>

Load the complete adopted startup catalog while checking the exact current inventory. Removed objects remain startup assertions and are never recreated.

§Errors

Rejects changed authority, invalid retained evidence or the bounded read deadline.

Source

pub async fn retired_topology_names( &self, ) -> Result<BTreeSet<String>, TopologyError>

Read object names retired by the bounded, retained committed topology journal.

§Errors

Rejects invalid retained evidence, changed committed authority or the read deadline.

Source

pub async fn retired_topology_generations( &self, ) -> Result<BTreeMap<String, u64>, TopologyError>

Read the latest retired incarnation of each name for safe future-only recreation.

§Errors

Rejects invalid retained evidence, changed committed authority or the read deadline.

Source

pub async fn adopt_legacy_topology( &self, proof: &LeaderProof, operation_id: TopologyOperationId, expected_manifest: &CatalogManifestRef, expected_deployment: &str, ) -> Result<TopologyAdoptionOutcome, TopologyError>

Explicitly adopt a sealed legacy inventory without changing the processing graph.

Requires a coordinated binary upgrade; this is not runtime migration admission.

§Errors

Rejects stale leader proof, divergent reference/deployment, invalid data or authority I/O.

Source

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.

Source

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§

Source§

impl Debug for CatalogManifestStore

Source§

fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

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
§

impl<T> ArchivePointee for T

§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
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.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

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

§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
§

impl<L> LayerExt<L> for L

§

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

§

fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>

Returns the layout of the type.
§

impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
where T: SharedNiching<N1, N2>, N1: Niching<T>, N2: Niching<T>,

§

unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool

Returns whether the given value has been niched. Read more
§

fn resolve_niched(out: Place<NichedOption<T, N1>>)

Writes data to out indicating that a T is niched.
§

impl<T> Pointee for T

§

type Metadata = ()

The metadata type for pointers and references to this type.
§

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

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

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

Source§

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<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more