Struct polkavm::CallerRef

source ·
pub struct CallerRef<T> { /* private fields */ }
Expand description

A handle used to access the execution context, with erased lifetimes for convenience.

Can only be used from within the handler to which the original Caller was passed. Will panic if used incorrectly.

Implementations§

source§

impl<T> CallerRef<T>

source

pub fn data(&self) -> &T

source

pub fn data_mut(&mut self) -> &mut T

source

pub fn get_reg(&self, reg: Reg) -> u32

source

pub fn set_reg(&mut self, reg: Reg, value: u32)

source

pub fn read_memory_into_slice<'slice, B>( &self, address: u32, buffer: &'slice mut B, ) -> Result<&'slice mut [u8], Trap>
where B: ?Sized + AsUninitSliceMut,

source

pub fn read_memory_into_vec( &self, address: u32, length: u32, ) -> Result<Vec<u8>, Trap>

source

pub fn read_u32(&self, address: u32) -> Result<u32, Trap>

source

pub fn write_memory(&mut self, address: u32, data: &[u8]) -> Result<(), Trap>

source

pub fn gas_remaining(&self) -> Option<Gas>

source

pub fn consume_gas(&mut self, gas: u64)

Auto Trait Implementations§

§

impl<T> Freeze for CallerRef<T>

§

impl<T> !RefUnwindSafe for CallerRef<T>

§

impl<T> !Send for CallerRef<T>

§

impl<T> !Sync for CallerRef<T>

§

impl<T> Unpin for CallerRef<T>
where T: Unpin,

§

impl<T> !UnwindSafe for CallerRef<T>

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