Struct tinychain::cluster::Cluster [−][src]
pub struct Cluster { /* fields omitted */ }
The data structure responsible for maintaining consensus per-transaction.
Implementations
impl Cluster
[src]
impl Cluster
[src]pub fn chain(&self, name: &Id) -> Option<&Chain>
[src]
Borrow one of this cluster’s Chain
s.
pub fn class(&self, name: &Id) -> Option<&InstanceClass>
[src]
Borrow an InstanceClass
, if there is one defined with the given name.
pub fn public_key(&self) -> &[u8]
[src]
Borrow the public key of this cluster.
pub fn link(&self) -> &Link
[src]
Return the canonical Link
to this cluster (probably not on this host).
pub fn path(&self) -> &[PathSegment]
[src]
Return the path of this cluster, relative to this host.
pub fn ns(&self) -> impl Iterator<Item = &Id>
[src]
Return the names of the members of this cluster.
pub async fn replicas(&self, txn_id: &TxnId) -> TCResult<HashSet<Link>>
[src]
Iterate over a list of replicas of this cluster.
pub async fn claim(&self, txn: &Txn) -> TCResult<Txn>
[src]
Claim ownership of the given Txn
.
pub async fn authorize(&self, txn: &Txn, scope: &Scope) -> TCResult<()>
[src]
Return Unauthorized
if the request does not have the given scope
from a trusted issuer.
pub async fn grant(
&self,
txn: Txn,
scope: Scope,
op: OpDef,
context: Map<State>
) -> TCResult<State>
[src]
&self,
txn: Txn,
scope: Scope,
op: OpDef,
context: Map<State>
) -> TCResult<State>
Grant the given scope
to the txn
and use it to resolve the given OpRef
.
pub async fn install(
&self,
txn_id: TxnId,
other: Link,
scopes: HashSet<Scope>
) -> TCResult<()>
[src]
&self,
txn_id: TxnId,
other: Link,
scopes: HashSet<Scope>
) -> TCResult<()>
pub async fn add_replica(&self, txn: &Txn, replica: Link) -> TCResult<()>
[src]
Add a replica to this cluster.
pub async fn remove_replicas(
&self,
txn: &Txn,
to_remove: &[Link]
) -> TCResult<()>
[src]
&self,
txn: &Txn,
to_remove: &[Link]
) -> TCResult<()>
Remove a replica from this cluster.
pub async fn mutate(&self, txn: &Txn, participant: Link) -> TCResult<()>
[src]
pub async fn distribute_commit(&self, txn: Txn) -> TCResult<()>
[src]
pub async fn distribute_rollback(&self, txn: Txn)
[src]
Trait Implementations
impl Transact for Cluster
[src]
impl Transact for Cluster
[src]fn commit<'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,
[src]
&'life0 self,
txn_id: &'life1 TxnId
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
fn finalize<'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,
[src]
&'life0 self,
txn_id: &'life1 TxnId
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait,
Auto Trait Implementations
impl !RefUnwindSafe for Cluster
impl !RefUnwindSafe for Cluster
impl !UnwindSafe for Cluster
impl !UnwindSafe for Cluster
Blanket Implementations
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]pub fn equivalent(&self, key: &K) -> bool
[src]
impl<T> Instrument for T
[src]
impl<T> Instrument for T
[src]pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<F, T> TryCastFrom<F> for T where
T: CastFrom<F>,
[src]
impl<F, T> TryCastFrom<F> for T where
T: CastFrom<F>,
[src]pub fn can_cast_from(&F) -> bool
[src]
pub fn opt_cast_from(f: F) -> Option<T>
[src]
pub fn try_cast_from<Err, OnErr>(value: T, on_err: OnErr) -> Result<Self, Err> where
OnErr: FnOnce(&T) -> Err,
[src]
OnErr: FnOnce(&T) -> Err,
impl<F, T> TryCastInto<T> for F where
T: TryCastFrom<F>,
[src]
impl<F, T> TryCastInto<T> for F where
T: TryCastFrom<F>,
[src]pub fn can_cast_into(&self) -> bool
[src]
pub fn opt_cast_into(self) -> Option<T>
[src]
pub fn try_cast_into<Err, OnErr>(self, on_err: OnErr) -> Result<T, Err> where
OnErr: FnOnce(&Self) -> Err,
[src]
OnErr: FnOnce(&Self) -> Err,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,