Skip to main content

Source

Struct Source 

Source
pub struct Source<A, O> { /* private fields */ }
Expand description

Cloneable handle to one exact attached native directory.

Implementations§

Source§

impl<A: AsyncAuthorityStore, O: AsyncObjectStore> Source<A, O>

Source

pub async fn state(&self) -> SourceState

Returns the current fail-closed semantic state.

Source

pub async fn acknowledge_materialization( &self, key: IdempotencyKey, ) -> Result<ReconcileOutcome<A, O>, SourceError>

Re-establishes a clean source baseline after the core materializer has installed a published workspace generation into the attached root.

A fresh checkout is opened at authenticated workspace HEAD and a full bounded rescan proves the resulting host tree. Any concurrent host change is captured as a later generation instead of being discarded.

Source

pub async fn reconcile(&self) -> Result<ReconcileOutcome<A, O>, SourceError>

Captures one bounded contiguous watcher interval and publishes it. A clean interval still advances authority ordering to atomically prove that its acknowledged workspace generation was current.

§Errors

Rejects pinned sources and propagates exact native/canonical failures.

Source

pub async fn reconcile_with_key( &self, key: IdempotencyKey, ) -> Result<ReconcileOutcome<A, O>, SourceError>

Captures and publishes one watcher interval under a stable retry key.

An exact retry returns the original durable outcome, including after a process restart. Reusing the key for another lifecycle operation is an idempotency conflict.

§Errors

Rejects pinned sources, conflicting retry identities, and exact native/canonical failures.

Source

pub async fn rescan(&self) -> Result<ReconcileOutcome<A, O>, SourceError>

Rebuilds one complete authenticated baseline while preserving events that arrive concurrently with the scan.

§Errors

Returns native, capture, authority, or storage failures without acknowledging an incomplete interval.

Source

pub async fn rescan_with_key( &self, key: IdempotencyKey, ) -> Result<ReconcileOutcome<A, O>, SourceError>

Rebuilds a complete baseline under a stable retry key.

§Errors

Returns conflicting retry identities and exact native/canonical failures.

Source

pub async fn seal(&self) -> Result<Generation<A, O>, SourceError>

Produces an immutable generation whose bytes no longer depend on the attached directory.

§Errors

Fails unless a complete authenticated rescan and publication succeeds.

Source

pub async fn seal_with_key( &self, key: IdempotencyKey, ) -> Result<Generation<A, O>, SourceError>

Seals the source under a stable retry key.

§Errors

Returns conflicting retry identities and fails unless the original or recovered operation reached a clean sealed generation.

Trait Implementations§

Source§

impl<A, O> Clone for Source<A, O>

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Auto Trait Implementations§

§

impl<A, O> !RefUnwindSafe for Source<A, O>

§

impl<A, O> !UnwindSafe for Source<A, O>

§

impl<A, O> Freeze for Source<A, O>
where Arc<Mutex<SourceSession<A, O>>>: Freeze,

§

impl<A, O> Send for Source<A, O>
where Arc<Mutex<SourceSession<A, O>>>: Send,

§

impl<A, O> Sync for Source<A, O>
where Arc<Mutex<SourceSession<A, O>>>: Sync,

§

impl<A, O> Unpin for Source<A, O>
where Arc<Mutex<SourceSession<A, O>>>: Unpin,

§

impl<A, O> UnsafeUnpin for Source<A, O>
where Arc<Mutex<SourceSession<A, O>>>: UnsafeUnpin,

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
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromRef<T> for T
where T: Clone,

Source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
Source§

impl<T> Instrument for T

Source§

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

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

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> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

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

impl<L> LayerExt<L> for L

Source§

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

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> StorageFuture for T
where T: Send,

Source§

impl<T> StorageProvider for T
where T: Send + Sync + ?Sized,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.
Source§

impl<T> WithSubscriber for T

Source§

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

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

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