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 deletion. The view is consumed by 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