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>
impl<C: SystemCallbackObject> System<C>
pub fn read_epoch<S: CommitableSubstateStore>(store: &mut S) -> Option<Epoch>
pub fn validate_epoch_range( current_epoch: Epoch, start_epoch_inclusive: Epoch, end_epoch_exclusive: Epoch ) -> Result<(), RejectionReason>
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>
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>
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>
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>,
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>
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
fn create_receipt<S: SubstateDatabase>( self, track: Track<'_, S, SpreadPrefixKeyMapper>, executable: &Executable<'_>, interpretation_result: Result<Vec<InstructionOutput>, TransactionExecutionError> ) -> TransactionReceipt
Create final receipt
fn on_pin_node(&mut self, node_id: &NodeId) -> Result<(), RuntimeError>
fn on_create_node<Y>(
api: &mut Y,
event: CreateNodeEvent<'_>
) -> Result<(), RuntimeError>where
Y: KernelInternalApi<Self>,
fn on_drop_node<Y>(
api: &mut Y,
event: DropNodeEvent<'_>
) -> Result<(), RuntimeError>where
Y: KernelInternalApi<Self>,
fn on_move_module<Y>(
api: &mut Y,
event: MoveModuleEvent<'_>
) -> Result<(), RuntimeError>where
Y: KernelInternalApi<Self>,
fn on_open_substate<Y>(
api: &mut Y,
event: OpenSubstateEvent<'_>
) -> Result<(), RuntimeError>where
Y: KernelInternalApi<Self>,
fn on_close_substate<Y>(
api: &mut Y,
event: CloseSubstateEvent
) -> Result<(), RuntimeError>where
Y: KernelInternalApi<Self>,
fn on_read_substate<Y>(
api: &mut Y,
event: ReadSubstateEvent<'_>
) -> Result<(), RuntimeError>where
Y: KernelInternalApi<Self>,
fn on_write_substate<Y>(
api: &mut Y,
event: WriteSubstateEvent<'_>
) -> Result<(), RuntimeError>where
Y: KernelInternalApi<Self>,
fn on_set_substate( &mut self, event: SetSubstateEvent<'_> ) -> Result<(), RuntimeError>
fn on_remove_substate( &mut self, event: RemoveSubstateEvent<'_> ) -> Result<(), RuntimeError>
fn on_scan_keys(&mut self, event: ScanKeysEvent<'_>) -> Result<(), RuntimeError>
fn on_drain_substates( &mut self, event: DrainSubstatesEvent<'_> ) -> Result<(), RuntimeError>
fn on_scan_sorted_substates( &mut self, event: ScanSortedSubstatesEvent<'_> ) -> Result<(), RuntimeError>
fn before_invoke<Y>(
invocation: &KernelInvocation<Actor>,
api: &mut Y
) -> Result<(), RuntimeError>where
Y: KernelApi<Self>,
fn after_invoke<Y>(
output: &IndexedScryptoValue,
api: &mut Y
) -> Result<(), RuntimeError>where
Y: KernelApi<Self>,
fn on_execution_start<Y>(api: &mut Y) -> Result<(), RuntimeError>where
Y: KernelApi<Self>,
fn on_execution_finish<Y>(
message: &CallFrameMessage,
api: &mut Y
) -> Result<(), RuntimeError>where
Y: KernelApi<Self>,
fn on_allocate_node_id<Y>(
entity_type: EntityType,
api: &mut Y
) -> Result<(), RuntimeError>where
Y: KernelApi<Self>,
fn invoke_upstream<Y>( input: &IndexedScryptoValue, api: &mut Y ) -> Result<IndexedScryptoValue, RuntimeError>
fn auto_drop<Y>(nodes: Vec<NodeId>, api: &mut Y) -> Result<(), RuntimeError>where
Y: KernelApi<Self>,
fn on_mark_substate_as_transient( &mut self, node_id: &NodeId, partition_number: &PartitionNumber, substate_key: &SubstateKey ) -> Result<(), RuntimeError>
fn on_substate_lock_fault<Y>(
node_id: NodeId,
partition_num: PartitionNumber,
offset: &SubstateKey,
api: &mut Y
) -> Result<bool, RuntimeError>where
Y: KernelApi<Self>,
fn on_drop_node_mut<Y>(
node_id: &NodeId,
api: &mut Y
) -> Result<(), RuntimeError>where
Y: KernelApi<Self>,
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>
impl<'a, Y, V> KernelInternalApi<System<V>> for SystemService<'a, Y, V>
fn kernel_get_system_state(&mut self) -> SystemState<'_, System<V>>
source§fn kernel_get_current_depth(&self) -> usize
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
fn kernel_get_node_visibility(&self, node_id: &NodeId) -> NodeVisibility
Returns the visibility of a node
fn kernel_read_bucket(&mut self, bucket_id: &NodeId) -> Option<BucketSnapshot>
fn kernel_read_proof(&mut self, proof_id: &NodeId) -> Option<ProofSnapshot>
source§fn kernel_get_system(&mut self) -> &mut M
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
impl<V: SystemCallbackObject> SystemModule<System<V>> for AuthModule
fn before_invoke<Y: KernelApi<M>>( _api: &mut Y, _invocation: &KernelInvocation<Actor> ) -> Result<(), RuntimeError>
fn on_execution_start<Y: KernelApi<M>>(_api: &mut Y) -> Result<(), RuntimeError>
fn on_execution_finish<Y: KernelApi<M>>( _api: &mut Y, _message: &CallFrameMessage ) -> Result<(), RuntimeError>
fn after_invoke<Y: KernelApi<M>>( _api: &mut Y, _output: &IndexedScryptoValue ) -> Result<(), RuntimeError>
fn on_pin_node(_system: &mut M, _node_id: &NodeId) -> Result<(), RuntimeError>
fn on_allocate_node_id<Y: KernelApi<M>>( _api: &mut Y, _entity_type: EntityType ) -> Result<(), RuntimeError>
fn on_create_node<Y: KernelInternalApi<M>>( _api: &mut Y, _event: &CreateNodeEvent<'_> ) -> Result<(), RuntimeError>
fn on_move_module<Y: KernelInternalApi<M>>( _api: &mut Y, _event: &MoveModuleEvent<'_> ) -> Result<(), RuntimeError>
fn on_drop_node<Y: KernelInternalApi<M>>( _api: &mut Y, _event: &DropNodeEvent<'_> ) -> Result<(), RuntimeError>
fn on_mark_substate_as_transient( _system: &mut M, _node_id: &NodeId, _partition_number: &PartitionNumber, _substate_key: &SubstateKey ) -> Result<(), RuntimeError>
fn on_open_substate<Y: KernelInternalApi<M>>( _api: &mut Y, _event: &OpenSubstateEvent<'_> ) -> Result<(), RuntimeError>
fn on_read_substate<Y: KernelInternalApi<M>>( _api: &mut Y, _event: &ReadSubstateEvent<'_> ) -> Result<(), RuntimeError>
fn on_write_substate<Y: KernelInternalApi<M>>( _api: &mut Y, _event: &WriteSubstateEvent<'_> ) -> Result<(), RuntimeError>
fn on_close_substate<Y: KernelInternalApi<M>>( _api: &mut Y, _event: &CloseSubstateEvent ) -> Result<(), RuntimeError>
fn on_set_substate( _system: &mut M, _event: &SetSubstateEvent<'_> ) -> Result<(), RuntimeError>
fn on_remove_substate( _system: &mut M, _event: &RemoveSubstateEvent<'_> ) -> Result<(), RuntimeError>
fn on_scan_keys( _system: &mut M, _event: &ScanKeysEvent<'_> ) -> Result<(), RuntimeError>
fn on_drain_substates( _system: &mut M, _event: &DrainSubstatesEvent<'_> ) -> Result<(), RuntimeError>
fn on_scan_sorted_substates( _system: &mut M, _event: &ScanSortedSubstatesEvent<'_> ) -> Result<(), RuntimeError>
source§impl<V: SystemCallbackObject> SystemModule<System<V>> for CostingModule
impl<V: SystemCallbackObject> SystemModule<System<V>> for CostingModule
fn before_invoke<Y: KernelApi<System<V>>>( api: &mut Y, invocation: &KernelInvocation<Actor> ) -> Result<(), RuntimeError>
fn after_invoke<Y: KernelApi<System<V>>>( api: &mut Y, output: &IndexedScryptoValue ) -> Result<(), RuntimeError>
fn on_create_node<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &CreateNodeEvent<'_> ) -> Result<(), RuntimeError>
fn on_pin_node( system: &mut System<V>, node_id: &NodeId ) -> Result<(), RuntimeError>
fn on_drop_node<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &DropNodeEvent<'_> ) -> Result<(), RuntimeError>
fn on_move_module<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &MoveModuleEvent<'_> ) -> Result<(), RuntimeError>
fn on_open_substate<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &OpenSubstateEvent<'_> ) -> Result<(), RuntimeError>
fn on_mark_substate_as_transient( system: &mut System<V>, node_id: &NodeId, partition_number: &PartitionNumber, substate_key: &SubstateKey ) -> Result<(), RuntimeError>
fn on_read_substate<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &ReadSubstateEvent<'_> ) -> Result<(), RuntimeError>
fn on_write_substate<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &WriteSubstateEvent<'_> ) -> Result<(), RuntimeError>
fn on_close_substate<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &CloseSubstateEvent ) -> Result<(), RuntimeError>
fn on_set_substate( system: &mut System<V>, event: &SetSubstateEvent<'_> ) -> Result<(), RuntimeError>
fn on_remove_substate( system: &mut System<V>, event: &RemoveSubstateEvent<'_> ) -> Result<(), RuntimeError>
fn on_scan_keys( system: &mut System<V>, event: &ScanKeysEvent<'_> ) -> Result<(), RuntimeError>
fn on_drain_substates( system: &mut System<V>, event: &DrainSubstatesEvent<'_> ) -> Result<(), RuntimeError>
fn on_scan_sorted_substates( system: &mut System<V>, event: &ScanSortedSubstatesEvent<'_> ) -> Result<(), RuntimeError>
fn on_allocate_node_id<Y: KernelApi<System<V>>>( api: &mut Y, _entity_type: EntityType ) -> Result<(), RuntimeError>
fn on_execution_start<Y: KernelApi<M>>(_api: &mut Y) -> Result<(), RuntimeError>
fn on_execution_finish<Y: KernelApi<M>>( _api: &mut Y, _message: &CallFrameMessage ) -> Result<(), RuntimeError>
source§impl<V: SystemCallbackObject> SystemModule<System<V>> for ExecutionTraceModule
impl<V: SystemCallbackObject> SystemModule<System<V>> for ExecutionTraceModule
fn on_create_node<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &CreateNodeEvent<'_> ) -> Result<(), RuntimeError>
fn on_drop_node<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &DropNodeEvent<'_> ) -> Result<(), RuntimeError>
fn before_invoke<Y: KernelApi<System<V>>>( api: &mut Y, invocation: &KernelInvocation<Actor> ) -> Result<(), RuntimeError>
fn on_execution_finish<Y: KernelApi<System<V>>>( api: &mut Y, message: &CallFrameMessage ) -> Result<(), RuntimeError>
fn on_execution_start<Y: KernelApi<M>>(_api: &mut Y) -> Result<(), RuntimeError>
fn after_invoke<Y: KernelApi<M>>( _api: &mut Y, _output: &IndexedScryptoValue ) -> Result<(), RuntimeError>
fn on_pin_node(_system: &mut M, _node_id: &NodeId) -> Result<(), RuntimeError>
fn on_allocate_node_id<Y: KernelApi<M>>( _api: &mut Y, _entity_type: EntityType ) -> Result<(), RuntimeError>
fn on_move_module<Y: KernelInternalApi<M>>( _api: &mut Y, _event: &MoveModuleEvent<'_> ) -> Result<(), RuntimeError>
fn on_mark_substate_as_transient( _system: &mut M, _node_id: &NodeId, _partition_number: &PartitionNumber, _substate_key: &SubstateKey ) -> Result<(), RuntimeError>
fn on_open_substate<Y: KernelInternalApi<M>>( _api: &mut Y, _event: &OpenSubstateEvent<'_> ) -> Result<(), RuntimeError>
fn on_read_substate<Y: KernelInternalApi<M>>( _api: &mut Y, _event: &ReadSubstateEvent<'_> ) -> Result<(), RuntimeError>
fn on_write_substate<Y: KernelInternalApi<M>>( _api: &mut Y, _event: &WriteSubstateEvent<'_> ) -> Result<(), RuntimeError>
fn on_close_substate<Y: KernelInternalApi<M>>( _api: &mut Y, _event: &CloseSubstateEvent ) -> Result<(), RuntimeError>
fn on_set_substate( _system: &mut M, _event: &SetSubstateEvent<'_> ) -> Result<(), RuntimeError>
fn on_remove_substate( _system: &mut M, _event: &RemoveSubstateEvent<'_> ) -> Result<(), RuntimeError>
fn on_scan_keys( _system: &mut M, _event: &ScanKeysEvent<'_> ) -> Result<(), RuntimeError>
fn on_drain_substates( _system: &mut M, _event: &DrainSubstatesEvent<'_> ) -> Result<(), RuntimeError>
fn on_scan_sorted_substates( _system: &mut M, _event: &ScanSortedSubstatesEvent<'_> ) -> Result<(), RuntimeError>
source§impl<V: SystemCallbackObject> SystemModule<System<V>> for KernelTraceModule
impl<V: SystemCallbackObject> SystemModule<System<V>> for KernelTraceModule
fn before_invoke<Y: KernelApi<System<V>>>( api: &mut Y, invocation: &KernelInvocation<Actor> ) -> Result<(), RuntimeError>
fn on_execution_finish<Y: KernelApi<System<V>>>( api: &mut Y, message: &CallFrameMessage ) -> Result<(), RuntimeError>
fn after_invoke<Y: KernelApi<System<V>>>( api: &mut Y, output: &IndexedScryptoValue ) -> Result<(), RuntimeError>
fn on_allocate_node_id<Y: KernelApi<System<V>>>( api: &mut Y, entity_type: EntityType ) -> Result<(), RuntimeError>
fn on_create_node<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &CreateNodeEvent<'_> ) -> Result<(), RuntimeError>
fn on_drop_node<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &DropNodeEvent<'_> ) -> Result<(), RuntimeError>
fn on_open_substate<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &OpenSubstateEvent<'_> ) -> Result<(), RuntimeError>
fn on_read_substate<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &ReadSubstateEvent<'_> ) -> Result<(), RuntimeError>
fn on_write_substate<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &WriteSubstateEvent<'_> ) -> Result<(), RuntimeError>
fn on_close_substate<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &CloseSubstateEvent ) -> Result<(), RuntimeError>
fn on_execution_start<Y: KernelApi<M>>(_api: &mut Y) -> Result<(), RuntimeError>
fn on_pin_node(_system: &mut M, _node_id: &NodeId) -> Result<(), RuntimeError>
fn on_move_module<Y: KernelInternalApi<M>>( _api: &mut Y, _event: &MoveModuleEvent<'_> ) -> Result<(), RuntimeError>
fn on_mark_substate_as_transient( _system: &mut M, _node_id: &NodeId, _partition_number: &PartitionNumber, _substate_key: &SubstateKey ) -> Result<(), RuntimeError>
fn on_set_substate( _system: &mut M, _event: &SetSubstateEvent<'_> ) -> Result<(), RuntimeError>
fn on_remove_substate( _system: &mut M, _event: &RemoveSubstateEvent<'_> ) -> Result<(), RuntimeError>
fn on_scan_keys( _system: &mut M, _event: &ScanKeysEvent<'_> ) -> Result<(), RuntimeError>
fn on_drain_substates( _system: &mut M, _event: &DrainSubstatesEvent<'_> ) -> Result<(), RuntimeError>
fn on_scan_sorted_substates( _system: &mut M, _event: &ScanSortedSubstatesEvent<'_> ) -> Result<(), RuntimeError>
source§impl<V: SystemCallbackObject> SystemModule<System<V>> for LimitsModule
impl<V: SystemCallbackObject> SystemModule<System<V>> for LimitsModule
fn before_invoke<Y: KernelApi<System<V>>>( api: &mut Y, invocation: &KernelInvocation<Actor> ) -> Result<(), RuntimeError>
fn on_create_node<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &CreateNodeEvent<'_> ) -> Result<(), RuntimeError>
fn on_drop_node<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &DropNodeEvent<'_> ) -> Result<(), RuntimeError>
fn on_move_module<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &MoveModuleEvent<'_> ) -> Result<(), RuntimeError>
fn on_open_substate<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &OpenSubstateEvent<'_> ) -> Result<(), RuntimeError>
fn on_read_substate<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &ReadSubstateEvent<'_> ) -> Result<(), RuntimeError>
fn on_write_substate<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &WriteSubstateEvent<'_> ) -> Result<(), RuntimeError>
fn on_set_substate( system: &mut System<V>, event: &SetSubstateEvent<'_> ) -> Result<(), RuntimeError>
fn on_remove_substate( system: &mut System<V>, event: &RemoveSubstateEvent<'_> ) -> Result<(), RuntimeError>
fn on_scan_keys( system: &mut System<V>, event: &ScanKeysEvent<'_> ) -> Result<(), RuntimeError>
fn on_drain_substates( system: &mut System<V>, event: &DrainSubstatesEvent<'_> ) -> Result<(), RuntimeError>
fn on_scan_sorted_substates( system: &mut System<V>, event: &ScanSortedSubstatesEvent<'_> ) -> Result<(), RuntimeError>
fn on_execution_start<Y: KernelApi<M>>(_api: &mut Y) -> Result<(), RuntimeError>
fn on_execution_finish<Y: KernelApi<M>>( _api: &mut Y, _message: &CallFrameMessage ) -> Result<(), RuntimeError>
fn after_invoke<Y: KernelApi<M>>( _api: &mut Y, _output: &IndexedScryptoValue ) -> Result<(), RuntimeError>
fn on_pin_node(_system: &mut M, _node_id: &NodeId) -> Result<(), RuntimeError>
fn on_allocate_node_id<Y: KernelApi<M>>( _api: &mut Y, _entity_type: EntityType ) -> Result<(), RuntimeError>
fn on_mark_substate_as_transient( _system: &mut M, _node_id: &NodeId, _partition_number: &PartitionNumber, _substate_key: &SubstateKey ) -> Result<(), RuntimeError>
fn on_close_substate<Y: KernelInternalApi<M>>( _api: &mut Y, _event: &CloseSubstateEvent ) -> Result<(), RuntimeError>
source§impl<V: SystemCallbackObject> SystemModule<System<V>> for SystemModuleMixer
impl<V: SystemCallbackObject> SystemModule<System<V>> for SystemModuleMixer
fn before_invoke<Y: KernelApi<System<V>>>( api: &mut Y, invocation: &KernelInvocation<Actor> ) -> Result<(), RuntimeError>
fn on_execution_start<Y: KernelApi<System<V>>>( api: &mut Y ) -> Result<(), RuntimeError>
fn on_execution_finish<Y: KernelApi<System<V>>>( api: &mut Y, message: &CallFrameMessage ) -> Result<(), RuntimeError>
fn after_invoke<Y: KernelApi<System<V>>>( api: &mut Y, output: &IndexedScryptoValue ) -> Result<(), RuntimeError>
fn on_pin_node( system: &mut System<V>, node_id: &NodeId ) -> Result<(), RuntimeError>
fn on_allocate_node_id<Y: KernelApi<System<V>>>( api: &mut Y, entity_type: EntityType ) -> Result<(), RuntimeError>
fn on_create_node<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &CreateNodeEvent<'_> ) -> Result<(), RuntimeError>
fn on_move_module<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &MoveModuleEvent<'_> ) -> Result<(), RuntimeError>
fn on_drop_node<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &DropNodeEvent<'_> ) -> Result<(), RuntimeError>
fn on_mark_substate_as_transient( system: &mut System<V>, node_id: &NodeId, partition_number: &PartitionNumber, substate_key: &SubstateKey ) -> Result<(), RuntimeError>
fn on_open_substate<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &OpenSubstateEvent<'_> ) -> Result<(), RuntimeError>
fn on_read_substate<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &ReadSubstateEvent<'_> ) -> Result<(), RuntimeError>
fn on_write_substate<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &WriteSubstateEvent<'_> ) -> Result<(), RuntimeError>
fn on_close_substate<Y: KernelInternalApi<System<V>>>( api: &mut Y, event: &CloseSubstateEvent ) -> Result<(), RuntimeError>
fn on_set_substate( system: &mut System<V>, event: &SetSubstateEvent<'_> ) -> Result<(), RuntimeError>
fn on_remove_substate( system: &mut System<V>, event: &RemoveSubstateEvent<'_> ) -> Result<(), RuntimeError>
fn on_scan_keys( system: &mut System<V>, event: &ScanKeysEvent<'_> ) -> Result<(), RuntimeError>
fn on_drain_substates( system: &mut System<V>, event: &DrainSubstatesEvent<'_> ) -> Result<(), RuntimeError>
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> 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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
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>
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)
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)
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.