Struct Txn

Source
pub struct Txn { /* private fields */ }

Implementations§

Source§

impl Txn

Source

pub const DEFAULT_MODE: Mode

Source

pub fn grant( &self, actor: &Actor, link: Link, path: TCPathBuf, mode: Mode, ) -> TCResult<Self>

Grant mode permissions on the resource at path to the bearer of this Txn’s token. path is relative to the cluster at link whose actor will sign the token.

Source

pub fn mode<Keyring>( &self, _keyring: Keyring, _resource: &[PathSegment], ) -> Mode
where Keyring: Deref<Target = HashMap<Host, VerifyingKey>>,

Get the set of permissions authorized by hosts in the keyring for the given resource.

Source

pub fn locked_by(&self) -> TCResult<Option<VerifyingKey>>

Source

pub fn claim(self, link: Link, actor: &Actor) -> TCResult<Self>

Source

pub fn lock(self, actor: &Actor) -> TCResult<Self>

Source

pub fn has_claims(&self) -> bool

Source

pub fn leader( &self, path: &[PathSegment], ) -> TCResult<Option<(Link, VerifyingKey)>>

Source

pub fn owner(&self) -> TCResult<Option<VerifyingKey>>

Trait Implementations§

Source§

impl Clone for Txn

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Gateway<State<Txn>> for Txn

Source§

fn get<'a, 'async_trait, L, V>( &'a self, link: L, key: V, ) -> Pin<Box<dyn Future<Output = TCResult<State>> + Send + 'async_trait>>
where L: Into<ToUrl<'a>> + Send + 'async_trait, V: CastInto<Value> + Send + 'async_trait, Self: 'async_trait, 'a: 'async_trait,

Resolve a GET op within this transaction context.
Source§

fn put<'a, 'async_trait, L, K, V>( &'a self, link: L, key: K, value: V, ) -> Pin<Box<dyn Future<Output = TCResult<()>> + Send + 'async_trait>>
where L: Into<ToUrl<'a>> + Send + 'async_trait, K: CastInto<Value> + Send + 'async_trait, V: CastInto<State> + Send + 'async_trait, Self: 'async_trait, 'a: 'async_trait,

Resolve a PUT op within this transaction context.
Source§

fn post<'a, 'async_trait, L, P>( &'a self, link: L, params: P, ) -> Pin<Box<dyn Future<Output = TCResult<State>> + Send + 'async_trait>>
where L: Into<ToUrl<'a>> + Send + 'async_trait, P: CastInto<Map<State>> + Send + 'async_trait, Self: 'async_trait, 'a: 'async_trait,

Resolve a POST op within this transaction context.
Source§

fn delete<'a, 'async_trait, L, V>( &'a self, link: L, key: V, ) -> Pin<Box<dyn Future<Output = TCResult<()>> + Send + 'async_trait>>
where L: Into<ToUrl<'a>> + Send + 'async_trait, V: CastInto<Value> + Send + 'async_trait, Self: 'async_trait, 'a: 'async_trait,

Resolve a DELETE op within this transaction context.
Source§

impl Transaction<CacheBlock> for Txn

Source§

fn id(&self) -> &TxnId

The TxnId of this transaction context.
Source§

fn context<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = TCResult<DirLock<CacheBlock>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Allows locking the filesystem directory of this transaction context, e.g. to cache un-committed state or to compute an intermediate result.
Source§

fn subcontext<I: Into<Id> + Send>(&self, id: I) -> Self

Create a new transaction context with the given id.
Source§

fn subcontext_unique(&self) -> Self

Create a new transaction subcontext with its own unique workspace directory.

Auto Trait Implementations§

§

impl Freeze for Txn

§

impl !RefUnwindSafe for Txn

§

impl Send for Txn

§

impl Sync for Txn

§

impl Unpin for Txn

§

impl !UnwindSafe for Txn

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<F, T> CastFrom<F> for T
where T: From<F>,

Source§

fn cast_from(f: F) -> T

Cast an instance of T into an instance of Self.
Source§

impl<T, F> CastInto<F> for T
where F: CastFrom<T>,

Source§

fn cast_into(self) -> F

Cast an instance of Self into an instance of T.
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, 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<F> Match for F

Source§

fn matches<T>(&self) -> bool
where T: TryCastFrom<Self>,

Returns true if self can be cast into the target type T.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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<State, T> ToState<State> for T
where State: StateInstance, T: Clone + Into<State>,

Source§

fn to_state(&self) -> State

Source§

impl<F, T> TryCastFrom<F> for T
where T: CastFrom<F>,

Source§

fn can_cast_from(_: &F) -> bool

Test if value can be cast into Self.
Source§

fn opt_cast_from(f: F) -> Option<T>

Returns Some(Self) if the source value can be cast into Self, otherwise None.
Source§

fn try_cast_from<Err, OnErr>(value: T, on_err: OnErr) -> Result<Self, Err>
where OnErr: FnOnce(&T) -> Err,

Returns Ok(Self) if the source value can be cast into Self, otherwise calls on_err.
Source§

impl<F, T> TryCastInto<T> for F
where T: TryCastFrom<F>,

Source§

fn can_cast_into(&self) -> bool

Test if self can be cast into T.
Source§

fn opt_cast_into(self) -> Option<T>

Returns Some(T) if self can be cast into T, otherwise None.
Source§

fn try_cast_into<Err, OnErr>(self, on_err: OnErr) -> Result<T, Err>
where OnErr: FnOnce(&Self) -> Err,

Returns Ok(T) if self can be cast into T, otherwise calls on_err.
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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> ThreadSafe for T
where T: Send + Sync + 'static,