pub struct StreamAuthorityStore<P> { /* private fields */ }Expand description
Filesystem authority over native hierarchical Streams.
Records, writer epochs, and lineage are child paths changed through one atomic Stream commit. Retry results come from the provider’s native idempotency authority; the adapter owns no side database or shadow operation streams.
Implementations§
Source§impl<P> StreamAuthorityStore<P>
impl<P> StreamAuthorityStore<P>
Sourcepub fn provider(&self) -> Arc<P> ⓘ
pub fn provider(&self) -> Arc<P> ⓘ
Returns the exact public Stream provider that supplies this authority.
Higher-level protocol adapters use this only for filesystem-adjacent durable state machines, such as S3 multipart upload sessions. The filesystem authority itself remains represented by canonical Stream records and never by an adapter-local database.
Source§impl<P: StreamProvider> StreamAuthorityStore<P>
impl<P: StreamProvider> StreamAuthorityStore<P>
Lists a bounded snapshot of exact filesystem authority identities.
Authorities are native direct children in Stream; no filesystem record or object is read.
Trait Implementations§
Source§impl<P: StreamProvider> AsyncAuthorityStore for StreamAuthorityStore<P>
impl<P: StreamProvider> AsyncAuthorityStore for StreamAuthorityStore<P>
Source§fn supports_generation_lineage_prefix(&self) -> bool
fn supports_generation_lineage_prefix(&self) -> bool
Source§async fn head(
&self,
authority_id: AuthorityId,
budget: WorkBudget,
cancellation: &CancellationToken,
) -> AuthorityResult<Head>
async fn head( &self, authority_id: AuthorityId, budget: WorkBudget, cancellation: &CancellationToken, ) -> AuthorityResult<Head>
Source§async fn compare_and_append(
&self,
authority_id: AuthorityId,
epoch: Epoch,
expected: Head,
commit: ProposedCommit,
budget: WorkBudget,
cancellation: &CancellationToken,
) -> AuthorityResult<FsAppendOutcome>
async fn compare_and_append( &self, authority_id: AuthorityId, epoch: Epoch, expected: Head, commit: ProposedCommit, budget: WorkBudget, cancellation: &CancellationToken, ) -> AuthorityResult<FsAppendOutcome>
Source§async fn compare_and_append_guarded(
&self,
request: GuardedAppend,
budget: WorkBudget,
cancellation: &CancellationToken,
) -> AuthorityResult<FsAppendOutcome>
async fn compare_and_append_guarded( &self, request: GuardedAppend, budget: WorkBudget, cancellation: &CancellationToken, ) -> AuthorityResult<FsAppendOutcome>
Source§async fn reserve_publication(
&self,
authority_id: AuthorityId,
expected: Head,
operation_id: OperationId,
budget: WorkBudget,
cancellation: &CancellationToken,
) -> AuthorityResult<ReservationOutcome>
async fn reserve_publication( &self, authority_id: AuthorityId, expected: Head, operation_id: OperationId, budget: WorkBudget, cancellation: &CancellationToken, ) -> AuthorityResult<ReservationOutcome>
Source§async fn release_publication(
&self,
reservation: PublicationReservation,
budget: WorkBudget,
cancellation: &CancellationToken,
) -> AuthorityResult<()>
async fn release_publication( &self, reservation: PublicationReservation, budget: WorkBudget, cancellation: &CancellationToken, ) -> AuthorityResult<()>
Source§async fn replay(
&self,
authority_id: AuthorityId,
after: Sequence,
limit: ReplayLimit,
budget: WorkBudget,
cancellation: &CancellationToken,
) -> AuthorityResult<Vec<DurableCommit>>
async fn replay( &self, authority_id: AuthorityId, after: Sequence, limit: ReplayLimit, budget: WorkBudget, cancellation: &CancellationToken, ) -> AuthorityResult<Vec<DurableCommit>>
Source§async fn fence(
&self,
authority_id: AuthorityId,
expected: Head,
budget: WorkBudget,
cancellation: &CancellationToken,
) -> AuthorityResult<FenceOutcome>
async fn fence( &self, authority_id: AuthorityId, expected: Head, budget: WorkBudget, cancellation: &CancellationToken, ) -> AuthorityResult<FenceOutcome>
Source§async fn find_operation(
&self,
authority_id: AuthorityId,
operation_id: OperationId,
budget: WorkBudget,
cancellation: &CancellationToken,
) -> AuthorityResult<Option<DurableCommit>>
async fn find_operation( &self, authority_id: AuthorityId, operation_id: OperationId, budget: WorkBudget, cancellation: &CancellationToken, ) -> AuthorityResult<Option<DurableCommit>>
Auto Trait Implementations§
impl<P> Freeze for StreamAuthorityStore<P>
impl<P> RefUnwindSafe for StreamAuthorityStore<P>where
Arc<P>: RefUnwindSafe,
impl<P> Send for StreamAuthorityStore<P>
impl<P> Sync for StreamAuthorityStore<P>
impl<P> Unpin for StreamAuthorityStore<P>
impl<P> UnsafeUnpin for StreamAuthorityStore<P>where
Arc<P>: UnsafeUnpin,
impl<P> UnwindSafe for StreamAuthorityStore<P>where
Arc<P>: UnwindSafe,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request