Skip to main content

EmbeddedTransactor

Struct EmbeddedTransactor 

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

A serialized, in-process transactor. The log append is the commit point.

Implementations§

Source§

impl EmbeddedTransactor

Source

pub fn recover( schema: Schema, log: Arc<dyn TransactionLog>, ) -> Result<Self, TransactError>

Recovers a transactor by replaying the durable log exactly once.

§Errors

Returns an error when the durable log cannot be replayed.

Source

pub fn recover_from( base: Db, log: Arc<dyn TransactionLog>, ) -> Result<Self, TransactError>

Recovers from an empty base database value (schema plus naming) by replaying the durable log exactly once.

§Errors

Returns an error when the durable log cannot be replayed.

Source

pub fn db(&self) -> Db

Returns the current immutable database value.

Source

pub fn subscribe(&self) -> Receiver<TxReport>

Subscribes to reports for transactions committed after this call.

Source

pub fn transact( &self, items: impl IntoIterator<Item = TxItem>, ) -> Result<TxReport, TransactError>

Validates, durably appends, applies, and reports a transaction.

§Errors

Returns an error for rejected transaction data, clock failure, or when the durable append fails. No report is sent on error.

Source

pub fn update_naming(&self, idents: Idents, interner: KeywordInterner)

Replaces the ident/keyword naming attached to the current database value (used when the boundary interns new keywords).

Source

pub fn publish_indexes( &self, store: &(impl BlobStore + RootStore), root_name: &str, lease_version: u64, ) -> Result<DbRoot, TransactError>

Builds a consistent snapshot of all four indexes and publishes their blob ids.

Blobs are uploaded before the root CAS. Transactions may continue while the immutable snapshot is encoded; a later run indexes any remaining log tail.

Publication is fenced by lease_version and monotone in index_basis_t: a root already published under a newer lease version deposes this writer (TransactError::Deposed); a root at an equal or newer basis (or one that wins a concurrent CAS race) leaves this snapshot’s blobs for garbage collection. The freshly built root is returned when it, or a newer basis, is installed.

§Errors

Returns an error if a blob upload, root read, or fenced publication fails.

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

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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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