pub enum SystemLockData {
KeyValueEntry(KeyValueEntryLockData),
Field(FieldLockData),
Default,
}
Variants§
Implementations§
source§impl SystemLockData
impl SystemLockData
pub fn is_kv_entry(&self) -> bool
pub fn is_kv_entry_with_write(&self) -> bool
Trait Implementations§
source§impl Clone for SystemLockData
impl Clone for SystemLockData
source§fn clone(&self) -> SystemLockData
fn clone(&self) -> SystemLockData
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 Default for SystemLockData
impl Default for SystemLockData
source§impl<'a, Y, V> KernelSubstateApi<SystemLockData> for SystemService<'a, Y, V>
impl<'a, Y, V> KernelSubstateApi<SystemLockData> for SystemService<'a, Y, V>
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>,
data: SystemLockData
) -> 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>, data: SystemLockData ) -> 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<SystemLockData, RuntimeError>
fn kernel_get_lock_data( &mut self, lock_handle: SubstateHandle ) -> Result<SystemLockData, 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,
limit: u32
) -> Result<Vec<(SortedKey, IndexedScryptoValue)>, RuntimeError>
fn kernel_scan_sorted_substates( &mut self, node_id: &NodeId, partition_num: PartitionNumber, limit: u32 ) -> Result<Vec<(SortedKey, IndexedScryptoValue)>, RuntimeError>
Reads substates under a node in sorted lexicographical order Read more
fn kernel_scan_keys<K: SubstateKeyContent + 'static>( &mut self, node_id: &NodeId, partition_num: PartitionNumber, limit: u32 ) -> Result<Vec<SubstateKey>, RuntimeError>
fn kernel_drain_substates<K: SubstateKeyContent + 'static>( &mut self, node_id: &NodeId, partition_num: PartitionNumber, limit: 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<SubstateHandle, RuntimeError>
Auto Trait Implementations§
impl RefUnwindSafe for SystemLockData
impl Send for SystemLockData
impl Sync for SystemLockData
impl Unpin for SystemLockData
impl UnwindSafe for SystemLockData
Blanket Implementations§
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere
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 moresource§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<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§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
.§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
.§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.§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.