pub struct ExecutionStateView<C> {
    pub system: SystemExecutionStateView<C>,
    pub users: HashedReentrantCollectionView<C, ApplicationId, KeyValueStoreView<C>>,
    pub stream_event_counts: MapView<C, StreamId, u32>,
}Expand description
A view accessing the execution state of a chain.
Fields§
§system: SystemExecutionStateView<C>System application.
users: HashedReentrantCollectionView<C, ApplicationId, KeyValueStoreView<C>>User applications.
stream_event_counts: MapView<C, StreamId, u32>The number of events in the streams that this chain is writing to.
Implementations§
Source§impl<C> ExecutionStateView<C>
 
impl<C> ExecutionStateView<C>
pub async fn query_application( &mut self, context: QueryContext, query: Query, endpoint: Option<&mut ServiceRuntimeEndpoint>, ) -> Result<QueryOutcome, ExecutionError>
pub async fn list_applications( &self, ) -> Result<Vec<(ApplicationId, ApplicationDescription)>, ExecutionError>
Trait Implementations§
Source§impl<C> ClonableView for ExecutionStateView<C>where
    SystemExecutionStateView<C>: ClonableView,
    HashedReentrantCollectionView<C, ApplicationId, KeyValueStoreView<C>>: ClonableView,
    MapView<C, StreamId, u32>: ClonableView,
    Self: View,
 
impl<C> ClonableView for ExecutionStateView<C>where
    SystemExecutionStateView<C>: ClonableView,
    HashedReentrantCollectionView<C, ApplicationId, KeyValueStoreView<C>>: ClonableView,
    MapView<C, StreamId, u32>: ClonableView,
    Self: View,
Source§fn clone_unchecked(&mut self) -> Self
 
fn clone_unchecked(&mut self) -> Self
Creates a clone of this view, sharing the underlying storage context but prone to
data races which can corrupt the view state.
Source§impl<C: Send + Sync + Context> ContainerType for ExecutionStateView<C>
 
impl<C: Send + Sync + Context> ContainerType for ExecutionStateView<C>
Source§async fn resolve_field(&self, ctx: &Context<'_>) -> ServerResult<Option<Value>>
 
async fn resolve_field(&self, ctx: &Context<'_>) -> ServerResult<Option<Value>>
Resolves a field value and outputs it as a json value
async_graphql::Value. Read moreSource§async fn find_entity(
    &self,
    ctx: &Context<'_>,
    params: &Value,
) -> ServerResult<Option<Value>>
 
async fn find_entity( &self, ctx: &Context<'_>, params: &Value, ) -> ServerResult<Option<Value>>
Find the GraphQL entity with the given name from the parameter. Read more
Source§fn collect_all_fields<'a>(
    &'a self,
    ctx: &ContextBase<'a, &'a Positioned<SelectionSet>>,
    fields: &mut Fields<'a>,
) -> Result<(), ServerError>
 
fn collect_all_fields<'a>( &'a self, ctx: &ContextBase<'a, &'a Positioned<SelectionSet>>, fields: &mut Fields<'a>, ) -> Result<(), ServerError>
Collect all the fields of the container that are queried in the
selection set. Read more
Source§impl<C> CryptoHashView for ExecutionStateView<C>where
    SystemExecutionStateView<C>: HashableView,
    HashedReentrantCollectionView<C, ApplicationId, KeyValueStoreView<C>>: HashableView,
    MapView<C, StreamId, u32>: HashableView,
    Self: View,
 
impl<C> CryptoHashView for ExecutionStateView<C>where
    SystemExecutionStateView<C>: HashableView,
    HashedReentrantCollectionView<C, ApplicationId, KeyValueStoreView<C>>: HashableView,
    MapView<C, StreamId, u32>: HashableView,
    Self: View,
Source§async fn crypto_hash(&self) -> Result<CryptoHash, ViewError>
 
async fn crypto_hash(&self) -> Result<CryptoHash, ViewError>
Computing the hash and attributing the type to it.
Source§async fn crypto_hash_mut(&mut self) -> Result<CryptoHash, ViewError>
 
async fn crypto_hash_mut(&mut self) -> Result<CryptoHash, ViewError>
Computing the hash and attributing the type to it.
Source§impl<C: Debug> Debug for ExecutionStateView<C>
 
impl<C: Debug> Debug for ExecutionStateView<C>
Source§impl<C> HashableView for ExecutionStateView<C>where
    SystemExecutionStateView<C>: HashableView,
    HashedReentrantCollectionView<C, ApplicationId, KeyValueStoreView<C>>: HashableView,
    MapView<C, StreamId, u32>: HashableView,
    Self: View,
 
impl<C> HashableView for ExecutionStateView<C>where
    SystemExecutionStateView<C>: HashableView,
    HashedReentrantCollectionView<C, ApplicationId, KeyValueStoreView<C>>: HashableView,
    MapView<C, StreamId, u32>: HashableView,
    Self: View,
Source§impl<C: Send + Sync + Context> OutputType for ExecutionStateView<C>
 
impl<C: Send + Sync + Context> OutputType for ExecutionStateView<C>
Source§fn create_type_info(registry: &mut Registry) -> String
 
fn create_type_info(registry: &mut Registry) -> String
Create type information in the registry and return qualified typename.
Source§async fn resolve(
    &self,
    ctx: &ContextSelectionSet<'_>,
    _field: &Positioned<Field>,
) -> ServerResult<Value>
 
async fn resolve( &self, ctx: &ContextSelectionSet<'_>, _field: &Positioned<Field>, ) -> ServerResult<Value>
Resolve an output value to 
async_graphql::Value.Source§fn qualified_type_name() -> String
 
fn qualified_type_name() -> String
Qualified typename.
Source§impl<C: Context, C2: Context> ReplaceContext<C2> for ExecutionStateView<C>
 
impl<C: Context, C2: Context> ReplaceContext<C2> for ExecutionStateView<C>
Source§impl<C> View for ExecutionStateView<C>where
    C: Context,
    SystemExecutionStateView<C>: View<Context = C>,
    HashedReentrantCollectionView<C, ApplicationId, KeyValueStoreView<C>>: View<Context = C>,
    MapView<C, StreamId, u32>: View<Context = C>,
 
impl<C> View for ExecutionStateView<C>where
    C: Context,
    SystemExecutionStateView<C>: View<Context = C>,
    HashedReentrantCollectionView<C, ApplicationId, KeyValueStoreView<C>>: View<Context = C>,
    MapView<C, StreamId, u32>: View<Context = C>,
Source§const NUM_INIT_KEYS: usize
 
const NUM_INIT_KEYS: usize
The number of keys used for the initialization
Source§fn pre_load(context: &C) -> Result<Vec<Vec<u8>>, ViewError>
 
fn pre_load(context: &C) -> Result<Vec<Vec<u8>>, ViewError>
Creates the keys needed for loading the view
Source§fn post_load(context: C, values: &[Option<Vec<u8>>]) -> Result<Self, ViewError>
 
fn post_load(context: C, values: &[Option<Vec<u8>>]) -> Result<Self, ViewError>
Loads a view from the values
Source§fn rollback(&mut self)
 
fn rollback(&mut self)
Discards all pending changes. After that 
flush should have no effect to storage.Source§async fn has_pending_changes(&self) -> bool
 
async fn has_pending_changes(&self) -> bool
Returns 
true if flushing this view would result in changes to the persistent storage.Source§fn flush(&mut self, batch: &mut Batch) -> Result<bool, ViewError>
 
fn flush(&mut self, batch: &mut Batch) -> Result<bool, ViewError>
Persists changes to storage. This leaves the view still usable and is essentially neutral to the
program running. Crash-resistant storage implementations are expected to accumulate the desired
changes in the 
batch variable first. If the view is dropped without calling flush, staged
changes are simply lost.
The returned boolean indicates whether the operation removes the view or not.impl<C: Send + Sync + Context> ObjectType for ExecutionStateView<C>
Auto Trait Implementations§
impl<C> !Freeze for ExecutionStateView<C>
impl<C> !RefUnwindSafe for ExecutionStateView<C>
impl<C> Send for ExecutionStateView<C>
impl<C> Sync for ExecutionStateView<C>
impl<C> Unpin for ExecutionStateView<C>where
    C: Unpin,
impl<C> !UnwindSafe for ExecutionStateView<C>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
 
impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
 
impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
Source§impl<T> Instrument for T
 
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
 
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
 
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
 
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
 
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
 
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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 moreSource§impl<M, I> RuntimeMemory<&mut I> for Mwhere
    M: RuntimeMemory<I>,
 
impl<M, I> RuntimeMemory<&mut I> for Mwhere
    M: RuntimeMemory<I>,
Source§fn read<'instance>(
    &self,
    instance: &'instance &mut I,
    location: GuestPointer,
    length: u32,
) -> Result<Cow<'instance, [u8]>, RuntimeError>
 
fn read<'instance>( &self, instance: &'instance &mut I, location: GuestPointer, length: u32, ) -> Result<Cow<'instance, [u8]>, RuntimeError>
Reads length bytes from memory from the provided location.
Source§fn write(
    &mut self,
    instance: &mut &mut I,
    location: GuestPointer,
    bytes: &[u8],
) -> Result<(), RuntimeError>
 
fn write( &mut self, instance: &mut &mut I, location: GuestPointer, bytes: &[u8], ) -> Result<(), RuntimeError>
Writes the bytes to memory at the provided location.