Struct ClientState

Source
pub struct ClientState<E, SP> { /* private fields */ }
Expand description

Keeps track of client graph state.

Implementations§

Source§

impl<E, SP> ClientState<E, SP>

Source

pub const fn new(engine: E, provider: SP) -> ClientState<E, SP>

Creates a ClientState.

Source

pub fn provider(&mut self) -> &mut SP

Provide access to the StorageProvider.

Source§

impl<E, SP> ClientState<E, SP>
where E: Engine, SP: StorageProvider,

Source

pub fn new_graph( &mut self, policy_data: &[u8], action: <E::Policy as Policy>::Action<'_>, sink: &mut impl Sink<E::Effect>, ) -> Result<GraphId, ClientError>

Create a new graph (AKA Team). This graph will start with the initial policy provided which must be compatible with the engine E. The payload is the initial init message that will bootstrap the graph facts. Effects produced when processing the payload are emitted to the sink.

Source

pub fn commit( &mut self, trx: &mut Transaction<SP, E>, sink: &mut impl Sink<E::Effect>, ) -> Result<(), ClientError>

Commit the Transaction to storage, after merging all temporary heads.

Source

pub fn add_commands( &mut self, trx: &mut Transaction<SP, E>, sink: &mut impl Sink<E::Effect>, commands: &[impl Command], request_heads: &mut PeerCache, ) -> Result<usize, ClientError>

Add commands to the transaction, writing the results to sink. Returns the number of commands that were added.

Source

pub fn action( &mut self, storage_id: GraphId, sink: &mut impl Sink<E::Effect>, action: <E::Policy as Policy>::Action<'_>, ) -> Result<(), ClientError>

Performs an action, writing the results to sink.

Source§

impl<E, SP> ClientState<E, SP>
where SP: StorageProvider,

Source

pub fn transaction(&mut self, storage_id: GraphId) -> Transaction<SP, E>

Create a new Transaction, used to receive Commands when syncing.

Source

pub fn session( &mut self, storage_id: GraphId, ) -> Result<Session<SP, E>, ClientError>

Create an ephemeral Session associated with this client.

Trait Implementations§

Source§

impl<E: Debug, SP: Debug> Debug for ClientState<E, SP>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<E, SP> Freeze for ClientState<E, SP>
where E: Freeze, SP: Freeze,

§

impl<E, SP> RefUnwindSafe for ClientState<E, SP>

§

impl<E, SP> Send for ClientState<E, SP>
where E: Send, SP: Send,

§

impl<E, SP> Sync for ClientState<E, SP>
where E: Sync, SP: Sync,

§

impl<E, SP> Unpin for ClientState<E, SP>
where E: Unpin, SP: Unpin,

§

impl<E, SP> UnwindSafe for ClientState<E, SP>
where E: UnwindSafe, SP: UnwindSafe,

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.

Source§

impl<T> Instrument for T

Source§

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

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

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> 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.
Source§

impl<T> WithSubscriber for T

Source§

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
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> ErasedDestructor for T
where T: 'static,