pub struct WrappedKernelApi<'a, E: KernelTransactionExecutor + 'a, K: KernelApi<CallbackObject = InjectCostingError<E>>> { /* private fields */ }
Trait Implementations§
Source§impl<'a, E: KernelTransactionExecutor + 'a, K: KernelApi<CallbackObject = InjectCostingError<E>>> KernelApi for WrappedKernelApi<'a, E, K>
impl<'a, E: KernelTransactionExecutor + 'a, K: KernelApi<CallbackObject = InjectCostingError<E>>> KernelApi for WrappedKernelApi<'a, E, K>
type CallbackObject = E
Source§impl<'a, E: KernelTransactionExecutor + 'a, K: KernelApi<CallbackObject = InjectCostingError<E>>> KernelInternalApi for WrappedKernelApi<'a, E, K>
impl<'a, E: KernelTransactionExecutor + 'a, K: KernelApi<CallbackObject = InjectCostingError<E>>> KernelInternalApi for WrappedKernelApi<'a, E, K>
type System = E
Source§fn kernel_get_system_state(&mut self) -> SystemState<'_, E>
fn kernel_get_system_state(&mut self) -> SystemState<'_, E>
Returns the system state.
Source§fn kernel_get_current_stack_depth_uncosted(&self) -> usize
fn kernel_get_current_stack_depth_uncosted(&self) -> usize
Returns the current stack depth. Read more
Source§fn kernel_get_current_stack_id_uncosted(&self) -> usize
fn kernel_get_current_stack_id_uncosted(&self) -> usize
Returns the current stack id. Read more
Source§fn kernel_get_node_visibility_uncosted(
&self,
node_id: &NodeId,
) -> NodeVisibility
fn kernel_get_node_visibility_uncosted( &self, node_id: &NodeId, ) -> NodeVisibility
Returns the visibility of a node. Read more
Source§fn kernel_read_substate_uncosted(
&self,
node_id: &NodeId,
partition_num: PartitionNumber,
substate_key: &SubstateKey,
) -> Option<&IndexedScryptoValue>
fn kernel_read_substate_uncosted( &self, node_id: &NodeId, partition_num: PartitionNumber, substate_key: &SubstateKey, ) -> Option<&IndexedScryptoValue>
Returns the value of a substate. Read more
Source§fn kernel_get_system(&mut self) -> &mut Self::System
fn kernel_get_system(&mut self) -> &mut Self::System
Returns the system.
Source§impl<'a, E: KernelTransactionExecutor + 'a, K: KernelApi<CallbackObject = InjectCostingError<E>>> KernelInvokeApi<<E as KernelCallbackObject>::CallFrameData> for WrappedKernelApi<'a, E, K>
impl<'a, E: KernelTransactionExecutor + 'a, K: KernelApi<CallbackObject = InjectCostingError<E>>> KernelInvokeApi<<E as KernelCallbackObject>::CallFrameData> for WrappedKernelApi<'a, E, K>
fn kernel_invoke( &mut self, invocation: Box<KernelInvocation<E::CallFrameData>>, ) -> Result<IndexedScryptoValue, RuntimeError>
Source§impl<'a, E: KernelTransactionExecutor + 'a, K: KernelApi<CallbackObject = InjectCostingError<E>>> KernelNodeApi for WrappedKernelApi<'a, E, K>
impl<'a, E: KernelTransactionExecutor + 'a, K: KernelApi<CallbackObject = InjectCostingError<E>>> KernelNodeApi for WrappedKernelApi<'a, E, K>
Source§fn kernel_pin_node(&mut self, node_id: NodeId) -> Result<(), RuntimeError>
fn kernel_pin_node(&mut self, node_id: NodeId) -> Result<(), RuntimeError>
Pin a node to it’s current device.
Source§fn kernel_allocate_node_id(
&mut self,
entity_type: EntityType,
) -> Result<NodeId, RuntimeError>
fn kernel_allocate_node_id( &mut self, entity_type: EntityType, ) -> Result<NodeId, RuntimeError>
Allocates a new node id useable for create_node
Source§fn kernel_create_node(
&mut self,
node_id: NodeId,
node_substates: NodeSubstates,
) -> Result<(), RuntimeError>
fn kernel_create_node( &mut self, node_id: NodeId, node_substates: NodeSubstates, ) -> Result<(), RuntimeError>
Creates a new RENode
fn kernel_create_node_from( &mut self, node_id: NodeId, partitions: BTreeMap<PartitionNumber, (NodeId, PartitionNumber)>, ) -> Result<(), RuntimeError>
Source§fn kernel_drop_node(
&mut self,
node_id: &NodeId,
) -> Result<DroppedNode, RuntimeError>
fn kernel_drop_node( &mut self, node_id: &NodeId, ) -> Result<DroppedNode, RuntimeError>
Removes an RENode. Owned children will be possessed by the call frame. Read more
Source§impl<'a, E: KernelTransactionExecutor + 'a, K: KernelApi<CallbackObject = InjectCostingError<E>>> KernelStackApi for WrappedKernelApi<'a, E, K>
impl<'a, E: KernelTransactionExecutor + 'a, K: KernelApi<CallbackObject = InjectCostingError<E>>> KernelStackApi for WrappedKernelApi<'a, E, K>
type CallFrameData = <E as KernelCallbackObject>::CallFrameData
Source§fn kernel_get_stack_id(&mut self) -> Result<usize, RuntimeError>
fn kernel_get_stack_id(&mut self) -> Result<usize, RuntimeError>
Gets the stack id which is currently being used
Source§fn kernel_switch_stack(&mut self, id: usize) -> Result<(), RuntimeError>
fn kernel_switch_stack(&mut self, id: usize) -> Result<(), RuntimeError>
Achieves a context switch by switching the underlying callframe/stack
Source§fn kernel_send_to_stack(
&mut self,
id: usize,
value: &IndexedScryptoValue,
) -> Result<(), RuntimeError>
fn kernel_send_to_stack( &mut self, id: usize, value: &IndexedScryptoValue, ) -> Result<(), RuntimeError>
Moves the objects in a scrypto value from the current call frame to another stack
Source§fn kernel_set_call_frame_data(
&mut self,
data: E::CallFrameData,
) -> Result<(), RuntimeError>
fn kernel_set_call_frame_data( &mut self, data: E::CallFrameData, ) -> Result<(), RuntimeError>
Sets the call frame data for the current call frame
Source§fn kernel_get_owned_nodes(&mut self) -> Result<Vec<NodeId>, RuntimeError>
fn kernel_get_owned_nodes(&mut self) -> Result<Vec<NodeId>, RuntimeError>
Returns the owned nodes of the current call frame
Source§impl<'a, E: KernelTransactionExecutor + 'a, Y: KernelApi<CallbackObject = InjectCostingError<E>>> KernelSubstateApi<<E as KernelCallbackObject>::LockData> for WrappedKernelApi<'a, E, Y>
impl<'a, E: KernelTransactionExecutor + 'a, Y: KernelApi<CallbackObject = InjectCostingError<E>>> KernelSubstateApi<<E as KernelCallbackObject>::LockData> for WrappedKernelApi<'a, E, Y>
Source§fn kernel_mark_substate_as_transient(
&mut self,
node_id: NodeId,
partition_num: PartitionNumber,
key: SubstateKey,
) -> Result<(), RuntimeError>
fn kernel_mark_substate_as_transient( &mut self, node_id: NodeId, partition_num: PartitionNumber, key: SubstateKey, ) -> Result<(), RuntimeError>
Marks a substate as transient, or a substate which was never and will never be persisted
Source§fn kernel_open_substate_with_default<F: FnOnce() -> IndexedScryptoValue>(
&mut self,
node_id: &NodeId,
partition_num: PartitionNumber,
substate_key: &SubstateKey,
flags: LockFlags,
default: Option<F>,
lock_data: E::LockData,
) -> Result<SubstateHandle, RuntimeError>
fn kernel_open_substate_with_default<F: FnOnce() -> IndexedScryptoValue>( &mut self, node_id: &NodeId, partition_num: PartitionNumber, substate_key: &SubstateKey, flags: LockFlags, default: Option<F>, lock_data: E::LockData, ) -> Result<SubstateHandle, RuntimeError>
Locks a substate to make available for reading and/or writing
Source§fn kernel_get_lock_data(
&mut self,
lock_handle: SubstateHandle,
) -> Result<E::LockData, RuntimeError>
fn kernel_get_lock_data( &mut self, lock_handle: SubstateHandle, ) -> Result<E::LockData, RuntimeError>
Retrieves info related to a lock
Source§fn kernel_close_substate(
&mut self,
lock_handle: SubstateHandle,
) -> Result<(), RuntimeError>
fn kernel_close_substate( &mut self, lock_handle: SubstateHandle, ) -> Result<(), RuntimeError>
Drops the handle on some substate, if the handle is a force write, updates are flushed.
No updates should occur if an error is returned.
Source§fn kernel_read_substate(
&mut self,
lock_handle: SubstateHandle,
) -> Result<&IndexedScryptoValue, RuntimeError>
fn kernel_read_substate( &mut self, lock_handle: SubstateHandle, ) -> Result<&IndexedScryptoValue, RuntimeError>
Reads the value of the substate locked by the given lock handle
Source§fn kernel_write_substate(
&mut self,
lock_handle: SubstateHandle,
value: IndexedScryptoValue,
) -> Result<(), RuntimeError>
fn kernel_write_substate( &mut self, lock_handle: SubstateHandle, value: IndexedScryptoValue, ) -> Result<(), RuntimeError>
Writes a value to the substate locked by the given lock handle
Source§fn kernel_set_substate(
&mut self,
node_id: &NodeId,
partition_num: PartitionNumber,
substate_key: SubstateKey,
value: IndexedScryptoValue,
) -> Result<(), RuntimeError>
fn kernel_set_substate( &mut self, node_id: &NodeId, partition_num: PartitionNumber, substate_key: SubstateKey, value: IndexedScryptoValue, ) -> Result<(), RuntimeError>
Sets a value to a substate without checking for the original value. Read more
Source§fn kernel_remove_substate(
&mut self,
node_id: &NodeId,
partition_num: PartitionNumber,
substate_key: &SubstateKey,
) -> Result<Option<IndexedScryptoValue>, RuntimeError>
fn kernel_remove_substate( &mut self, node_id: &NodeId, partition_num: PartitionNumber, substate_key: &SubstateKey, ) -> Result<Option<IndexedScryptoValue>, RuntimeError>
Removes a substate from a node and returns the original value. Read more
Source§fn kernel_scan_sorted_substates(
&mut self,
node_id: &NodeId,
partition_num: PartitionNumber,
count: u32,
) -> Result<Vec<(SortedKey, IndexedScryptoValue)>, RuntimeError>
fn kernel_scan_sorted_substates( &mut self, node_id: &NodeId, partition_num: PartitionNumber, count: u32, ) -> Result<Vec<(SortedKey, IndexedScryptoValue)>, RuntimeError>
Reads substates under a node in sorted lexicographical order Read more
fn kernel_scan_keys<K: SubstateKeyContent>( &mut self, node_id: &NodeId, partition_num: PartitionNumber, count: u32, ) -> Result<Vec<SubstateKey>, RuntimeError>
fn kernel_drain_substates<K: SubstateKeyContent>( &mut self, node_id: &NodeId, partition_num: PartitionNumber, count: u32, ) -> Result<Vec<(SubstateKey, IndexedScryptoValue)>, RuntimeError>
fn kernel_open_substate( &mut self, node_id: &NodeId, partition_num: PartitionNumber, substate_key: &SubstateKey, flags: LockFlags, lock_data: L, ) -> Result<u32, RuntimeError>
Auto Trait Implementations§
impl<'a, E, K> Freeze for WrappedKernelApi<'a, E, K>
impl<'a, E, K> RefUnwindSafe for WrappedKernelApi<'a, E, K>where
K: RefUnwindSafe,
impl<'a, E, K> Send for WrappedKernelApi<'a, E, K>where
K: Send,
impl<'a, E, K> Sync for WrappedKernelApi<'a, E, K>where
K: Sync,
impl<'a, E, K> Unpin for WrappedKernelApi<'a, E, K>
impl<'a, E, K> !UnwindSafe for WrappedKernelApi<'a, E, K>
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, U> ContextualTryInto<U> for Twhere
U: ContextualTryFrom<T>,
impl<T, U> ContextualTryInto<U> for Twhere
U: ContextualTryFrom<T>,
type Error = <U as ContextualTryFrom<T>>::Error
type Context = <U as ContextualTryFrom<T>>::Context
fn contextual_try_into( self, context: &<U as ContextualTryFrom<T>>::Context, ) -> Result<U, <U as ContextualTryFrom<T>>::Error>
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.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more