Struct linera_execution::ExecutionStateView 
source · pub struct ExecutionStateView<C> {
    pub system: SystemExecutionStateView<C>,
    pub simple_users: ReentrantCollectionView<C, UserApplicationId, RegisterView<C, Vec<u8>>>,
    pub view_users: ReentrantCollectionView<C, UserApplicationId, KeyValueStoreView<C>>,
}Expand description
A view accessing the execution state of a chain.
Fields§
§system: SystemExecutionStateView<C>System application.
simple_users: ReentrantCollectionView<C, UserApplicationId, RegisterView<C, Vec<u8>>>User applications (Simple based).
view_users: ReentrantCollectionView<C, UserApplicationId, KeyValueStoreView<C>>User applications (View based).
Implementations§
source§impl<C> ExecutionStateView<C>where
    C: Context + Clone + Send + Sync + 'static,
    ViewError: From<C::Error>,
    C::Extra: ExecutionRuntimeContext,
 
impl<C> ExecutionStateView<C>where C: Context + Clone + Send + Sync + 'static, ViewError: From<C::Error>, C::Extra: ExecutionRuntimeContext,
pub async fn execute_operation( &mut self, context: &OperationContext, operation: &Operation, remaining_fuel: &mut u64 ) -> Result<Vec<ExecutionResult>, ExecutionError>
pub async fn execute_message( &mut self, context: &MessageContext, message: &Message, remaining_fuel: &mut u64 ) -> Result<Vec<ExecutionResult>, ExecutionError>
pub async fn query_application( &mut self, context: &QueryContext, query: &Query ) -> Result<Response, ExecutionError>
pub async fn list_applications( &self ) -> Result<Vec<(UserApplicationId, UserApplicationDescription)>, ExecutionError>
Trait Implementations§
source§impl<C: Send + Sync + Context> ContainerType for ExecutionStateView<C>where
    ViewError: From<C::Error>,
 
impl<C: Send + Sync + Context> ContainerType for ExecutionStateView<C>where ViewError: From<C::Error>,
source§fn resolve_field<'life0, 'life1, 'life2, 'async_trait>(
    &'life0 self,
    ctx: &'life1 Context<'life2>
) -> Pin<Box<dyn Future<Output = ServerResult<Option<Value>>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
    'life2: 'async_trait,
 
fn resolve_field<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, ctx: &'life1 Context<'life2> ) -> Pin<Box<dyn Future<Output = ServerResult<Option<Value>>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
Resolves a field value and outputs it as a json value
async_graphql::Value. Read moresource§fn find_entity<'life0, 'life1, 'life2, 'life3, 'async_trait>(
    &'life0 self,
    ctx: &'life1 Context<'life2>,
    params: &'life3 Value
) -> Pin<Box<dyn Future<Output = ServerResult<Option<Value>>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
    'life2: 'async_trait,
    'life3: 'async_trait,
 
fn find_entity<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, ctx: &'life1 Context<'life2>, params: &'life3 Value ) -> Pin<Box<dyn Future<Output = ServerResult<Option<Value>>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,
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>where
    Self: Send + Sync,
 
fn collect_all_fields<'a>( &'a self, ctx: &ContextBase<'a, &'a Positioned<SelectionSet>>, fields: &mut Fields<'a> ) -> Result<(), ServerError>where Self: Send + Sync,
Collect all the fields of the container that are queried in the
selection set. Read more
source§impl<C> CryptoHashView<C> for ExecutionStateView<C>where
    C: Context + Send + Sync + Clone + 'static,
    ViewError: From<C::Error>,
 
impl<C> CryptoHashView<C> for ExecutionStateView<C>where C: Context + Send + Sync + Clone + 'static, ViewError: From<C::Error>,
source§fn crypto_hash<'life0, 'async_trait>(
    &'life0 self
) -> Pin<Box<dyn Future<Output = Result<CryptoHash, ViewError>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
 
fn crypto_hash<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<CryptoHash, ViewError>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
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<C> for ExecutionStateView<C>where
    C: Context + Send + Sync + Clone + 'static,
    ViewError: From<C::Error>,
 
impl<C> HashableView<C> for ExecutionStateView<C>where C: Context + Send + Sync + Clone + 'static, ViewError: From<C::Error>,
source§impl<C: Send + Sync + Context> OutputType for ExecutionStateView<C>where
    ViewError: From<C::Error>,
 
impl<C: Send + Sync + Context> OutputType for ExecutionStateView<C>where ViewError: From<C::Error>,
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§fn resolve<'life0, 'life1, 'life2, 'life3, 'async_trait>(
    &'life0 self,
    ctx: &'life1 ContextSelectionSet<'life2>,
    _field: &'life3 Positioned<Field>
) -> Pin<Box<dyn Future<Output = ServerResult<Value>> + Send + 'async_trait>>where
    Self: 'async_trait,
    'life0: 'async_trait,
    'life1: 'async_trait,
    'life2: 'async_trait,
    'life3: 'async_trait,
 
fn resolve<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, ctx: &'life1 ContextSelectionSet<'life2>, _field: &'life3 Positioned<Field> ) -> Pin<Box<dyn Future<Output = ServerResult<Value>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,
Resolve an output value to 
async_graphql::Value.source§fn qualified_type_name() -> String
 
fn qualified_type_name() -> String
Qualified typename.
source§impl<C> View<C> for ExecutionStateView<C>where
    C: Context + Send + Sync + Clone + 'static,
    ViewError: From<C::Error>,
 
impl<C> View<C> for ExecutionStateView<C>where C: Context + Send + Sync + Clone + 'static, ViewError: From<C::Error>,
source§fn load<'async_trait>(
    context: C
) -> Pin<Box<dyn Future<Output = Result<Self, ViewError>> + Send + 'async_trait>>where
    Self: 'async_trait,
 
fn load<'async_trait>( context: C ) -> Pin<Box<dyn Future<Output = Result<Self, ViewError>> + Send + 'async_trait>>where Self: 'async_trait,
Creates a view or a subview.
source§fn rollback(&mut self)
 
fn rollback(&mut self)
Discards all pending changes. After that 
flush should have no effect to storage.source§fn flush(&mut self, batch: &mut Batch) -> Result<(), ViewError>
 
fn flush(&mut self, batch: &mut Batch) -> Result<(), 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.source§fn delete(self, batch: &mut Batch)
 
fn delete(self, batch: &mut Batch)
Instead of persisting changes, clears all the data that belong to this view and its
subviews. Crash-resistant storage implementations are expected to accumulate the
desired changes into the 
batch variable first.
No data/metadata at all is left after delete. The view is consumed by delete
and cannot be used in any way after delete.impl<C: Send + Sync + Context> ObjectType for ExecutionStateView<C>where ViewError: From<C::Error>,
Auto Trait Implementations§
impl<C> !RefUnwindSafe for ExecutionStateView<C>
impl<C> Send for ExecutionStateView<C>where C: Send + Sync,
impl<C> Sync for ExecutionStateView<C>where C: Send + Sync,
impl<C> Unpin for ExecutionStateView<C>where C: Unpin,
impl<C> !UnwindSafe for ExecutionStateView<C>
Blanket Implementations§
§impl<T> ArchivePointee for T
 
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
 
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
    _: &<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
 
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
§impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere
    W: DeserializeWith<F, T, D>,
    D: Fallible + ?Sized,
    F: ?Sized,
 
impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere W: DeserializeWith<F, T, D>, D: Fallible + ?Sized, F: ?Sized,
§fn deserialize(
    &self,
    deserializer: &mut D
) -> Result<With<T, W>, <D as Fallible>::Error>
 
fn deserialize( &self, deserializer: &mut D ) -> Result<With<T, W>, <D as Fallible>::Error>
Deserializes using the given deserializer
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>
§impl<T> Pointable for T
 
impl<T> Pointable for T
§impl<T> Upcastable for Twhere
    T: Any + Send + Sync + 'static,
 
impl<T> Upcastable for Twhere T: Any + Send + Sync + 'static,
§fn upcast_any_ref(&self) -> &(dyn Any + 'static)
 
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
upcast ref
§fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
 
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
upcast mut ref