Trait tinychain::chain::ChainInstance[][src]

pub trait ChainInstance {
    fn append_delete<'life0, 'async_trait>(
        &'life0 self,
        txn_id: TxnId,
        path: TCPathBuf,
        key: Value
    ) -> Pin<Box<dyn Future<Output = TCResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn append_put<'life0, 'life1, 'async_trait>(
        &'life0 self,
        txn: &'life1 Txn,
        path: TCPathBuf,
        key: Value,
        value: State
    ) -> Pin<Box<dyn Future<Output = TCResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
;
fn last_commit<'life0, 'async_trait>(
        &'life0 self,
        txn_id: TxnId
    ) -> Pin<Box<dyn Future<Output = TCResult<Option<TxnId>>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
;
fn subject(&self) -> &Subject;
fn replicate<'life0, 'life1, 'async_trait>(
        &'life0 self,
        txn: &'life1 Txn,
        source: Link
    ) -> Pin<Box<dyn Future<Output = TCResult<()>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
;
fn write_ahead<'life0, 'life1, 'async_trait>(
        &'life0 self,
        txn_id: &'life1 TxnId
    ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; }
Expand description

Trait defining methods common to any instance of a Chain, such as a SyncChain.

Required methods

Append the given DELETE op to the latest block in this Chain.

Append the given PUT op to the latest block in this Chain.

Borrow the Subject of this Chain immutably.

Replicate this Chain from the Chain at the given Link.

Implementors