Struct air_interpreter_data::InterpreterData
source · pub struct InterpreterData {
pub trace: ExecutionTrace,
pub last_call_request_id: u32,
pub cid_info: CidInfo,
pub signatures: SignatureStore,
}
Expand description
The AIR interpreter could be considered as a function f(prev_data: InterpreterData, current_data: InterpreterData, … ) -> (result_data: InterpreterData, …). This function receives prev and current data and produces a result data. All these data have the following format.
Fields§
§trace: ExecutionTrace
Trace of AIR execution, which contains executed call, par, fold, and ap states.
last_call_request_id: u32
Last exposed to a peer call request id. All next call request ids will be bigger than this.
cid_info: CidInfo
CID-to-somethings mappings.
signatures: SignatureStore
Signature store.
Every peer signs call results and canon values it produced (all together), and stores the signatures in this store.
Implementations§
source§impl InterpreterData
impl InterpreterData
pub fn try_from_slice(slice: &[u8]) -> Result<Self, DataDeserializationError>
pub fn serialize( &self, ) -> Result<Vec<u8>, CompositeSerializerError<Infallible, AllocScratchError, SharedSerializeMapError>>
Trait Implementations§
source§impl Archive for InterpreterData
impl Archive for InterpreterData
§type Archived = ArchivedInterpreterData
type Archived = ArchivedInterpreterData
The archived representation of this type. Read more
§type Resolver = InterpreterDataResolver
type Resolver = InterpreterDataResolver
The resolver for this type. It must contain all the additional information from serializing
needed to make the archived type from the normal type.
source§impl Clone for InterpreterData
impl Clone for InterpreterData
source§fn clone(&self) -> InterpreterData
fn clone(&self) -> InterpreterData
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for InterpreterData
impl Debug for InterpreterData
source§impl Default for InterpreterData
impl Default for InterpreterData
source§fn default() -> InterpreterData
fn default() -> InterpreterData
Returns the “default value” for a type. Read more
source§impl<'de> Deserialize<'de> for InterpreterData
impl<'de> Deserialize<'de> for InterpreterData
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl<__D: Fallible + ?Sized> Deserialize<InterpreterData, __D> for Archived<InterpreterData>where
ExecutionTrace: Archive,
Archived<ExecutionTrace>: Deserialize<ExecutionTrace, __D>,
u32: Archive,
Archived<u32>: Deserialize<u32, __D>,
CidInfo: Archive,
Archived<CidInfo>: Deserialize<CidInfo, __D>,
SignatureStore: Archive,
Archived<SignatureStore>: Deserialize<SignatureStore, __D>,
impl<__D: Fallible + ?Sized> Deserialize<InterpreterData, __D> for Archived<InterpreterData>where
ExecutionTrace: Archive,
Archived<ExecutionTrace>: Deserialize<ExecutionTrace, __D>,
u32: Archive,
Archived<u32>: Deserialize<u32, __D>,
CidInfo: Archive,
Archived<CidInfo>: Deserialize<CidInfo, __D>,
SignatureStore: Archive,
Archived<SignatureStore>: Deserialize<SignatureStore, __D>,
source§fn deserialize(
&self,
deserializer: &mut __D,
) -> Result<InterpreterData, __D::Error>
fn deserialize( &self, deserializer: &mut __D, ) -> Result<InterpreterData, __D::Error>
Deserializes using the given deserializer
source§impl<__S: Fallible + ?Sized> Serialize<__S> for InterpreterDatawhere
ExecutionTrace: Serialize<__S>,
u32: Serialize<__S>,
CidInfo: Serialize<__S>,
SignatureStore: Serialize<__S>,
impl<__S: Fallible + ?Sized> Serialize<__S> for InterpreterDatawhere
ExecutionTrace: Serialize<__S>,
u32: Serialize<__S>,
CidInfo: Serialize<__S>,
SignatureStore: Serialize<__S>,
Auto Trait Implementations§
impl Freeze for InterpreterData
impl !RefUnwindSafe for InterpreterData
impl !Send for InterpreterData
impl !Sync for InterpreterData
impl Unpin for InterpreterData
impl !UnwindSafe for InterpreterData
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.
§impl<T> ArchiveUnsized for Twhere
T: Archive,
impl<T> ArchiveUnsized for Twhere
T: Archive,
§type Archived = <T as Archive>::Archived
type Archived = <T as Archive>::Archived
The archived counterpart of this type. Unlike
Archive
, it may be unsized. Read more§type MetadataResolver = ()
type MetadataResolver = ()
The resolver for the metadata of this type. Read more
§unsafe fn resolve_metadata(
&self,
_: usize,
_: <T as ArchiveUnsized>::MetadataResolver,
_: *mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata,
)
unsafe fn resolve_metadata( &self, _: usize, _: <T as ArchiveUnsized>::MetadataResolver, _: *mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata, )
Creates the archived version of the metadata for this value at the given position and writes
it to the given output. Read more
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<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
§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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.
§impl<T, S> SerializeUnsized<S> for Twhere
T: Serialize<S>,
S: Serializer + ?Sized,
impl<T, S> SerializeUnsized<S> for Twhere
T: Serialize<S>,
S: Serializer + ?Sized,
§fn serialize_unsized(
&self,
serializer: &mut S,
) -> Result<usize, <S as Fallible>::Error>
fn serialize_unsized( &self, serializer: &mut S, ) -> Result<usize, <S as Fallible>::Error>
Writes the object and returns the position of the archived type.
§fn serialize_metadata(&self, _: &mut S) -> Result<(), <S as Fallible>::Error>
fn serialize_metadata(&self, _: &mut S) -> Result<(), <S as Fallible>::Error>
Serializes the metadata for the given type.