Trait tc_transact::lock::Mutate[][src]

pub trait Mutate: Send {
    type Pending: Clone + Send;
    fn diverge(&self, txn_id: &TxnId) -> Self::Pending;
#[must_use] fn converge<'life0, 'async_trait>(
        &'life0 mut self,
        new_value: Self::Pending
    ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; }

Define a way to manage transaction-specific versions of a state.

Associated Types

type Pending: Clone + Send[src]

The type of this state when pending a transaction commit.

Loading content...

Required methods

fn diverge(&self, txn_id: &TxnId) -> Self::Pending[src]

Create a new transaction-specific version of this state.

#[must_use]
fn converge<'life0, 'async_trait>(
    &'life0 mut self,
    new_value: Self::Pending
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 
[src]

Canonicalize a transaction-specific version.

Loading content...

Implementors

impl<T: Clone + Send> Mutate for Mutable<T>[src]

type Pending = T

Loading content...