Struct radix_engine::system::system_callback::System

source ·
pub struct System<C: SystemCallbackObject> {
    pub callback: C,
    pub blueprint_cache: NonIterMap<CanonicalBlueprintId, Rc<BlueprintDefinition>>,
    pub schema_cache: NonIterMap<SchemaHash, Rc<VersionedScryptoSchema>>,
    pub auth_cache: NonIterMap<CanonicalBlueprintId, AuthConfig>,
    pub modules: SystemModuleMixer,
}

Fields§

§callback: C§blueprint_cache: NonIterMap<CanonicalBlueprintId, Rc<BlueprintDefinition>>§schema_cache: NonIterMap<SchemaHash, Rc<VersionedScryptoSchema>>§auth_cache: NonIterMap<CanonicalBlueprintId, AuthConfig>§modules: SystemModuleMixer

Implementations§

source§

impl<C: SystemCallbackObject> System<C>

source

pub fn read_epoch<S: CommitableSubstateStore>(store: &mut S) -> Option<Epoch>

source

pub fn validate_epoch_range( current_epoch: Epoch, start_epoch_inclusive: Epoch, end_epoch_exclusive: Epoch ) -> Result<(), RejectionReason>

source

pub fn validate_intent_hash<S: CommitableSubstateStore>( track: &mut S, intent_hash: Hash, expiry_epoch: Epoch ) -> Result<(), RejectionReason>

Trait Implementations§

source§

impl<C: SystemCallbackObject> KernelCallbackObject for System<C>

§

type LockData = SystemLockData

§

type CallFrameData = Actor

§

type Init = SystemInit<<C as SystemCallbackObject>::InitInput>

§

type ExecutionOutput = Vec<InstructionOutput>

§

type Receipt = TransactionReceiptV1

source§

fn init<S: BootStore + CommitableSubstateStore>( store: &mut S, executable: &Executable<'_>, init_input: SystemInit<C::InitInput> ) -> Result<Self, RejectionReason>

Create the callback object (system layer) with data loaded from the substate store
source§

fn verify_boot_ref_value( &mut self, node_id: &NodeId, ref_value: &IndexedScryptoValue ) -> Result<StableReferenceType, BootloadingError>

Verifies and returns the type of a given reference used during boot
source§

fn start<Y>( api: &mut Y, manifest_encoded_instructions: &[u8], pre_allocated_addresses: &Vec<PreAllocatedAddress>, references: &IndexSet<Reference>, blobs: &IndexMap<Hash, Vec<u8>> ) -> Result<Vec<InstructionOutput>, RuntimeError>
where Y: KernelApi<Self>,

Start execution
source§

fn finish(&mut self, info: StoreCommitInfo) -> Result<(), RuntimeError>

Finish execution
source§

fn create_receipt<S: SubstateDatabase>( self, track: Track<'_, S, SpreadPrefixKeyMapper>, executable: &Executable<'_>, interpretation_result: Result<Vec<InstructionOutput>, TransactionExecutionError> ) -> TransactionReceipt

Create final receipt
source§

fn on_pin_node(&mut self, node_id: &NodeId) -> Result<(), RuntimeError>

source§

fn on_create_node<Y>( api: &mut Y, event: CreateNodeEvent<'_> ) -> Result<(), RuntimeError>
where Y: KernelInternalApi<Self>,

source§

fn on_drop_node<Y>( api: &mut Y, event: DropNodeEvent<'_> ) -> Result<(), RuntimeError>
where Y: KernelInternalApi<Self>,

source§

fn on_move_module<Y>( api: &mut Y, event: MoveModuleEvent<'_> ) -> Result<(), RuntimeError>
where Y: KernelInternalApi<Self>,

source§

fn on_open_substate<Y>( api: &mut Y, event: OpenSubstateEvent<'_> ) -> Result<(), RuntimeError>
where Y: KernelInternalApi<Self>,

source§

fn on_close_substate<Y>( api: &mut Y, event: CloseSubstateEvent ) -> Result<(), RuntimeError>
where Y: KernelInternalApi<Self>,

source§

fn on_read_substate<Y>( api: &mut Y, event: ReadSubstateEvent<'_> ) -> Result<(), RuntimeError>
where Y: KernelInternalApi<Self>,

source§

fn on_write_substate<Y>( api: &mut Y, event: WriteSubstateEvent<'_> ) -> Result<(), RuntimeError>
where Y: KernelInternalApi<Self>,

source§

fn on_set_substate( &mut self, event: SetSubstateEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_remove_substate( &mut self, event: RemoveSubstateEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_scan_keys(&mut self, event: ScanKeysEvent<'_>) -> Result<(), RuntimeError>

source§

fn on_drain_substates( &mut self, event: DrainSubstatesEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_scan_sorted_substates( &mut self, event: ScanSortedSubstatesEvent<'_> ) -> Result<(), RuntimeError>

source§

fn before_invoke<Y>( invocation: &KernelInvocation<Actor>, api: &mut Y ) -> Result<(), RuntimeError>
where Y: KernelApi<Self>,

source§

fn after_invoke<Y>( output: &IndexedScryptoValue, api: &mut Y ) -> Result<(), RuntimeError>
where Y: KernelApi<Self>,

source§

fn on_execution_start<Y>(api: &mut Y) -> Result<(), RuntimeError>
where Y: KernelApi<Self>,

source§

fn on_execution_finish<Y>( message: &CallFrameMessage, api: &mut Y ) -> Result<(), RuntimeError>
where Y: KernelApi<Self>,

source§

fn on_allocate_node_id<Y>( entity_type: EntityType, api: &mut Y ) -> Result<(), RuntimeError>
where Y: KernelApi<Self>,

source§

fn invoke_upstream<Y>( input: &IndexedScryptoValue, api: &mut Y ) -> Result<IndexedScryptoValue, RuntimeError>
where Y: KernelApi<System<C>>,

source§

fn auto_drop<Y>(nodes: Vec<NodeId>, api: &mut Y) -> Result<(), RuntimeError>
where Y: KernelApi<Self>,

source§

fn on_mark_substate_as_transient( &mut self, node_id: &NodeId, partition_number: &PartitionNumber, substate_key: &SubstateKey ) -> Result<(), RuntimeError>

source§

fn on_substate_lock_fault<Y>( node_id: NodeId, partition_num: PartitionNumber, offset: &SubstateKey, api: &mut Y ) -> Result<bool, RuntimeError>
where Y: KernelApi<Self>,

source§

fn on_drop_node_mut<Y>( node_id: &NodeId, api: &mut Y ) -> Result<(), RuntimeError>
where Y: KernelApi<Self>,

source§

fn on_move_node<Y>( node_id: &NodeId, is_moving_down: bool, is_to_barrier: bool, destination_blueprint_id: Option<BlueprintId>, api: &mut Y ) -> Result<(), RuntimeError>
where Y: KernelApi<Self>,

source§

impl<'a, Y, V> KernelInternalApi<System<V>> for SystemService<'a, Y, V>

source§

fn kernel_get_system_state(&mut self) -> SystemState<'_, System<V>>

source§

fn kernel_get_current_depth(&self) -> usize

Gets the number of call frames that are currently in the call frame stack
source§

fn kernel_get_node_visibility(&self, node_id: &NodeId) -> NodeVisibility

Returns the visibility of a node
source§

fn kernel_read_bucket(&mut self, bucket_id: &NodeId) -> Option<BucketSnapshot>

source§

fn kernel_read_proof(&mut self, proof_id: &NodeId) -> Option<ProofSnapshot>

source§

fn kernel_get_system(&mut self) -> &mut M

Retrieves data associated with the kernel upstream layer (system)
source§

impl<V: SystemCallbackObject> SystemModule<System<V>> for AuthModule

source§

fn before_invoke<Y: KernelApi<M>>( _api: &mut Y, _invocation: &KernelInvocation<Actor> ) -> Result<(), RuntimeError>

source§

fn on_execution_start<Y: KernelApi<M>>(_api: &mut Y) -> Result<(), RuntimeError>

source§

fn on_execution_finish<Y: KernelApi<M>>( _api: &mut Y, _message: &CallFrameMessage ) -> Result<(), RuntimeError>

source§

fn after_invoke<Y: KernelApi<M>>( _api: &mut Y, _output: &IndexedScryptoValue ) -> Result<(), RuntimeError>

source§

fn on_pin_node(_system: &mut M, _node_id: &NodeId) -> Result<(), RuntimeError>

source§

fn on_allocate_node_id<Y: KernelApi<M>>( _api: &mut Y, _entity_type: EntityType ) -> Result<(), RuntimeError>

source§

fn on_create_node<Y: KernelInternalApi<M>>( _api: &mut Y, _event: &CreateNodeEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_move_module<Y: KernelInternalApi<M>>( _api: &mut Y, _event: &MoveModuleEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_drop_node<Y: KernelInternalApi<M>>( _api: &mut Y, _event: &DropNodeEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_mark_substate_as_transient( _system: &mut M, _node_id: &NodeId, _partition_number: &PartitionNumber, _substate_key: &SubstateKey ) -> Result<(), RuntimeError>

source§

fn on_open_substate<Y: KernelInternalApi<M>>( _api: &mut Y, _event: &OpenSubstateEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_read_substate<Y: KernelInternalApi<M>>( _api: &mut Y, _event: &ReadSubstateEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_write_substate<Y: KernelInternalApi<M>>( _api: &mut Y, _event: &WriteSubstateEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_close_substate<Y: KernelInternalApi<M>>( _api: &mut Y, _event: &CloseSubstateEvent ) -> Result<(), RuntimeError>

source§

fn on_set_substate( _system: &mut M, _event: &SetSubstateEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_remove_substate( _system: &mut M, _event: &RemoveSubstateEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_scan_keys( _system: &mut M, _event: &ScanKeysEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_drain_substates( _system: &mut M, _event: &DrainSubstatesEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_scan_sorted_substates( _system: &mut M, _event: &ScanSortedSubstatesEvent<'_> ) -> Result<(), RuntimeError>

source§

impl<V: SystemCallbackObject> SystemModule<System<V>> for CostingModule

source§

fn before_invoke<Y: KernelApi<System<V>>>( api: &mut Y, invocation: &KernelInvocation<Actor> ) -> Result<(), RuntimeError>

source§

fn after_invoke<Y: KernelApi<System<V>>>( api: &mut Y, output: &IndexedScryptoValue ) -> Result<(), RuntimeError>

source§

fn on_create_node<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &CreateNodeEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_pin_node( system: &mut System<V>, node_id: &NodeId ) -> Result<(), RuntimeError>

source§

fn on_drop_node<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &DropNodeEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_move_module<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &MoveModuleEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_open_substate<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &OpenSubstateEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_mark_substate_as_transient( system: &mut System<V>, node_id: &NodeId, partition_number: &PartitionNumber, substate_key: &SubstateKey ) -> Result<(), RuntimeError>

source§

fn on_read_substate<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &ReadSubstateEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_write_substate<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &WriteSubstateEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_close_substate<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &CloseSubstateEvent ) -> Result<(), RuntimeError>

source§

fn on_set_substate( system: &mut System<V>, event: &SetSubstateEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_remove_substate( system: &mut System<V>, event: &RemoveSubstateEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_scan_keys( system: &mut System<V>, event: &ScanKeysEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_drain_substates( system: &mut System<V>, event: &DrainSubstatesEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_scan_sorted_substates( system: &mut System<V>, event: &ScanSortedSubstatesEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_allocate_node_id<Y: KernelApi<System<V>>>( api: &mut Y, _entity_type: EntityType ) -> Result<(), RuntimeError>

source§

fn on_execution_start<Y: KernelApi<M>>(_api: &mut Y) -> Result<(), RuntimeError>

source§

fn on_execution_finish<Y: KernelApi<M>>( _api: &mut Y, _message: &CallFrameMessage ) -> Result<(), RuntimeError>

source§

impl<V: SystemCallbackObject> SystemModule<System<V>> for ExecutionTraceModule

source§

fn on_create_node<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &CreateNodeEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_drop_node<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &DropNodeEvent<'_> ) -> Result<(), RuntimeError>

source§

fn before_invoke<Y: KernelApi<System<V>>>( api: &mut Y, invocation: &KernelInvocation<Actor> ) -> Result<(), RuntimeError>

source§

fn on_execution_finish<Y: KernelApi<System<V>>>( api: &mut Y, message: &CallFrameMessage ) -> Result<(), RuntimeError>

source§

fn on_execution_start<Y: KernelApi<M>>(_api: &mut Y) -> Result<(), RuntimeError>

source§

fn after_invoke<Y: KernelApi<M>>( _api: &mut Y, _output: &IndexedScryptoValue ) -> Result<(), RuntimeError>

source§

fn on_pin_node(_system: &mut M, _node_id: &NodeId) -> Result<(), RuntimeError>

source§

fn on_allocate_node_id<Y: KernelApi<M>>( _api: &mut Y, _entity_type: EntityType ) -> Result<(), RuntimeError>

source§

fn on_move_module<Y: KernelInternalApi<M>>( _api: &mut Y, _event: &MoveModuleEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_mark_substate_as_transient( _system: &mut M, _node_id: &NodeId, _partition_number: &PartitionNumber, _substate_key: &SubstateKey ) -> Result<(), RuntimeError>

source§

fn on_open_substate<Y: KernelInternalApi<M>>( _api: &mut Y, _event: &OpenSubstateEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_read_substate<Y: KernelInternalApi<M>>( _api: &mut Y, _event: &ReadSubstateEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_write_substate<Y: KernelInternalApi<M>>( _api: &mut Y, _event: &WriteSubstateEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_close_substate<Y: KernelInternalApi<M>>( _api: &mut Y, _event: &CloseSubstateEvent ) -> Result<(), RuntimeError>

source§

fn on_set_substate( _system: &mut M, _event: &SetSubstateEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_remove_substate( _system: &mut M, _event: &RemoveSubstateEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_scan_keys( _system: &mut M, _event: &ScanKeysEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_drain_substates( _system: &mut M, _event: &DrainSubstatesEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_scan_sorted_substates( _system: &mut M, _event: &ScanSortedSubstatesEvent<'_> ) -> Result<(), RuntimeError>

source§

impl<V: SystemCallbackObject> SystemModule<System<V>> for KernelTraceModule

source§

fn before_invoke<Y: KernelApi<System<V>>>( api: &mut Y, invocation: &KernelInvocation<Actor> ) -> Result<(), RuntimeError>

source§

fn on_execution_finish<Y: KernelApi<System<V>>>( api: &mut Y, message: &CallFrameMessage ) -> Result<(), RuntimeError>

source§

fn after_invoke<Y: KernelApi<System<V>>>( api: &mut Y, output: &IndexedScryptoValue ) -> Result<(), RuntimeError>

source§

fn on_allocate_node_id<Y: KernelApi<System<V>>>( api: &mut Y, entity_type: EntityType ) -> Result<(), RuntimeError>

source§

fn on_create_node<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &CreateNodeEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_drop_node<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &DropNodeEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_open_substate<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &OpenSubstateEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_read_substate<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &ReadSubstateEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_write_substate<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &WriteSubstateEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_close_substate<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &CloseSubstateEvent ) -> Result<(), RuntimeError>

source§

fn on_execution_start<Y: KernelApi<M>>(_api: &mut Y) -> Result<(), RuntimeError>

source§

fn on_pin_node(_system: &mut M, _node_id: &NodeId) -> Result<(), RuntimeError>

source§

fn on_move_module<Y: KernelInternalApi<M>>( _api: &mut Y, _event: &MoveModuleEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_mark_substate_as_transient( _system: &mut M, _node_id: &NodeId, _partition_number: &PartitionNumber, _substate_key: &SubstateKey ) -> Result<(), RuntimeError>

source§

fn on_set_substate( _system: &mut M, _event: &SetSubstateEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_remove_substate( _system: &mut M, _event: &RemoveSubstateEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_scan_keys( _system: &mut M, _event: &ScanKeysEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_drain_substates( _system: &mut M, _event: &DrainSubstatesEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_scan_sorted_substates( _system: &mut M, _event: &ScanSortedSubstatesEvent<'_> ) -> Result<(), RuntimeError>

source§

impl<V: SystemCallbackObject> SystemModule<System<V>> for LimitsModule

source§

fn before_invoke<Y: KernelApi<System<V>>>( api: &mut Y, invocation: &KernelInvocation<Actor> ) -> Result<(), RuntimeError>

source§

fn on_create_node<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &CreateNodeEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_drop_node<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &DropNodeEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_move_module<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &MoveModuleEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_open_substate<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &OpenSubstateEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_read_substate<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &ReadSubstateEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_write_substate<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &WriteSubstateEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_set_substate( system: &mut System<V>, event: &SetSubstateEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_remove_substate( system: &mut System<V>, event: &RemoveSubstateEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_scan_keys( system: &mut System<V>, event: &ScanKeysEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_drain_substates( system: &mut System<V>, event: &DrainSubstatesEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_scan_sorted_substates( system: &mut System<V>, event: &ScanSortedSubstatesEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_execution_start<Y: KernelApi<M>>(_api: &mut Y) -> Result<(), RuntimeError>

source§

fn on_execution_finish<Y: KernelApi<M>>( _api: &mut Y, _message: &CallFrameMessage ) -> Result<(), RuntimeError>

source§

fn after_invoke<Y: KernelApi<M>>( _api: &mut Y, _output: &IndexedScryptoValue ) -> Result<(), RuntimeError>

source§

fn on_pin_node(_system: &mut M, _node_id: &NodeId) -> Result<(), RuntimeError>

source§

fn on_allocate_node_id<Y: KernelApi<M>>( _api: &mut Y, _entity_type: EntityType ) -> Result<(), RuntimeError>

source§

fn on_mark_substate_as_transient( _system: &mut M, _node_id: &NodeId, _partition_number: &PartitionNumber, _substate_key: &SubstateKey ) -> Result<(), RuntimeError>

source§

fn on_close_substate<Y: KernelInternalApi<M>>( _api: &mut Y, _event: &CloseSubstateEvent ) -> Result<(), RuntimeError>

source§

impl<V: SystemCallbackObject> SystemModule<System<V>> for SystemModuleMixer

source§

fn before_invoke<Y: KernelApi<System<V>>>( api: &mut Y, invocation: &KernelInvocation<Actor> ) -> Result<(), RuntimeError>

source§

fn on_execution_start<Y: KernelApi<System<V>>>( api: &mut Y ) -> Result<(), RuntimeError>

source§

fn on_execution_finish<Y: KernelApi<System<V>>>( api: &mut Y, message: &CallFrameMessage ) -> Result<(), RuntimeError>

source§

fn after_invoke<Y: KernelApi<System<V>>>( api: &mut Y, output: &IndexedScryptoValue ) -> Result<(), RuntimeError>

source§

fn on_pin_node( system: &mut System<V>, node_id: &NodeId ) -> Result<(), RuntimeError>

source§

fn on_allocate_node_id<Y: KernelApi<System<V>>>( api: &mut Y, entity_type: EntityType ) -> Result<(), RuntimeError>

source§

fn on_create_node<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &CreateNodeEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_move_module<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &MoveModuleEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_drop_node<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &DropNodeEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_mark_substate_as_transient( system: &mut System<V>, node_id: &NodeId, partition_number: &PartitionNumber, substate_key: &SubstateKey ) -> Result<(), RuntimeError>

source§

fn on_open_substate<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &OpenSubstateEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_read_substate<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &ReadSubstateEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_write_substate<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &WriteSubstateEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_close_substate<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &CloseSubstateEvent ) -> Result<(), RuntimeError>

source§

fn on_set_substate( system: &mut System<V>, event: &SetSubstateEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_remove_substate( system: &mut System<V>, event: &RemoveSubstateEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_scan_keys( system: &mut System<V>, event: &ScanKeysEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_drain_substates( system: &mut System<V>, event: &DrainSubstatesEvent<'_> ) -> Result<(), RuntimeError>

source§

fn on_scan_sorted_substates( system: &mut System<V>, event: &ScanSortedSubstatesEvent<'_> ) -> Result<(), RuntimeError>

Auto Trait Implementations§

§

impl<C> Freeze for System<C>
where C: Freeze,

§

impl<C> !RefUnwindSafe for System<C>

§

impl<C> !Send for System<C>

§

impl<C> !Sync for System<C>

§

impl<C> Unpin for System<C>
where C: Unpin,

§

impl<C> !UnwindSafe for System<C>

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<U> As for U

source§

fn as_<T>(self) -> T
where T: CastFrom<U>,

Casts self to type T. The semantics of numeric casting with the as operator are followed, so <T as As>::as_::<U> can be used in the same way as T as U for numeric conversions. 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> Downcast for T
where T: Any,

source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
source§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

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> Pointable for T

source§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

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>,

§

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<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V