Struct tinychain::cluster::Cluster [−][src]
The data structure responsible for maintaining consensus per-transaction.
Implementations
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 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 Display for Cluster
[src]
impl Eq for Cluster
[src]
impl Hash for Cluster
[src]
fn hash<H: Hasher>(&self, h: &mut H)
[src]
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl Instance for Cluster
[src]
impl PartialEq<Cluster> 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 Send for Cluster
impl Sync for Cluster
impl Unpin for Cluster
impl UnwindSafe for Cluster
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<F, T> CastFrom<F> for T where
T: From<F>,
[src]
T: From<F>,
impl<T, F> CastInto<F> for T where
F: CastFrom<T>,
[src]
F: CastFrom<T>,
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
pub fn equivalent(&self, key: &K) -> bool
[src]
impl<T> From<T> 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, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<F> Match for F
[src]
pub fn matches<T>(&self) -> bool where
T: TryCastFrom<Self>,
[src]
T: TryCastFrom<Self>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<F, T> TryCastFrom<F> for T where
T: CastFrom<F>,
[src]
T: CastFrom<F>,
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]
T: TryCastFrom<F>,
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<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,