Skip to main content

Circles

Struct Circles 

Source
pub struct Circles<'a> { /* private fields */ }
Expand description

The coven.circles() namespace. Borrowed from a CovenHandle; holds no state of its own.

Implementations§

Source§

impl<'a> Circles<'a>

Source

pub async fn create(&self, name: &str) -> Result<CircleId, CircleError>

Create and activate a Circle whose founder is this Store identity. Returns only after the signed roster, metadata, access set, control, Store commit, activation head, and local materialization are durable.

Source

pub async fn rename( &self, circle_id: CircleId, name: &str, ) -> Result<(), CircleError>

Rename a Circle without changing its epoch key, membership, rows, or package history.

Source

pub async fn add_member( &self, circle_id: CircleId, member_pubkey: &str, ) -> Result<(), CircleError>

Add (or re-add) a Store identity to the Circle’s roster, sealing it a fresh active access leaf and current bootstrap.

Source

pub async fn remove_member( &self, circle_id: CircleId, member_pubkey: &str, ) -> Result<CircleOperationId, CircleError>

Remove a Store identity from the Circle, closing the old epoch. Returns the durable operation id tracking the close.

Source

pub async fn resolve( &self, circle_id: CircleId, chosen: CircleControlCoord, ) -> Result<(), CircleError>

Resolve a forked Circle control by authoring a successor of the chosen branch. Callable regardless of rotation state — it is the exit path out of the conflict.

Source

pub async fn cancel_close( &self, circle_id: CircleId, ) -> Result<CircleOperationId, CircleError>

Cancel an in-flight epoch close, restoring the frozen epoch. Returns the durable operation id the cancellation settles.

Source

pub async fn exclude_close_device( &self, circle_id: CircleId, device_id: StoreDeviceId, ) -> Result<(), CircleError>

Exclude an unavailable participant device from the Circle’s in-flight epoch close. The excluded device must reset from the successor bootstrap before it can write or acknowledge again.

Source

pub async fn delete(&self, circle_id: CircleId) -> Result<(), CircleError>

Delete a Circle with an Owner-signed terminal control transition.

Source

pub async fn retry_operation( &self, operation_id: CircleOperationId, ) -> Result<(), CircleError>

Retry a blocked durable operation from its captured phase, idempotently.

Source

pub async fn discard_operation( &self, operation_id: CircleOperationId, ) -> Result<(), CircleError>

Discard a durable operation that can provably never activate, deleting its candidate-exclusive objects and clearing its journal row. Refused typed without a verified permanent-nonactivation proof.

Source

pub async fn list(&self) -> Result<Vec<Circle>, CircleError>

Every Circle the local identity can see, with its derived CircleState.

Source

pub async fn members( &self, circle_id: CircleId, ) -> Result<Vec<CircleMemberInfo>, CircleError>

The Circle’s current members who remain current Store members, with roles.

Source

pub async fn operations(&self) -> Result<Vec<CircleOperationInfo>, CircleError>

Every durable Circle operation that has not activated, with its typed progress and block reason.

Source

pub async fn close_status( &self, circle_id: CircleId, ) -> Result<CircleCloseStatus, CircleError>

The read-only settlement status of a Circle’s in-flight epoch close.

Auto Trait Implementations§

§

impl<'a> Freeze for Circles<'a>

§

impl<'a> !RefUnwindSafe for Circles<'a>

§

impl<'a> Send for Circles<'a>

§

impl<'a> Sync for Circles<'a>

§

impl<'a> Unpin for Circles<'a>

§

impl<'a> UnsafeUnpin for Circles<'a>

§

impl<'a> !UnwindSafe for Circles<'a>

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<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
§

impl<T> PolicyExt for T
where T: ?Sized,

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,