Struct sp_sandbox::Memory[][src]

pub struct Memory { /* fields omitted */ }

Reference to a sandboxed linear memory, that will be used by the guest module.

The memory can't be directly accessed by supervisor, but only through designated functions get and set.

Implementations

impl Memory[src]

pub fn new(initial: u32, maximum: Option<u32>) -> Result<Memory, Error>[src]

Construct a new linear memory instance.

The memory allocated with initial number of pages specified by initial. Minimal possible value for initial is 0 and maximum possible is 65536. (Since maximum addressable memory is 232 = 4GiB = 65536 * 64KiB).

It is possible to limit maximum number of pages this memory instance can have by specifying maximum. If not specified, this memory instance would be able to allocate up to 4GiB.

Allocated memory is always zeroed.

pub fn get(&self, ptr: u32, buf: &mut [u8]) -> Result<(), Error>[src]

Read a memory area at the address ptr with the size of the provided slice buf.

Returns Err if the range is out-of-bounds.

pub fn set(&self, ptr: u32, value: &[u8]) -> Result<(), Error>[src]

Write a memory area at the address ptr with contents of the provided slice buf.

Returns Err if the range is out-of-bounds.

Trait Implementations

impl Clone for Memory[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DynClone for T where
    T: Clone
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, Outer> IsWrappedBy<Outer> for T where
    T: From<Outer>,
    Outer: AsRef<T> + AsMut<T> + From<T>, 
[src]

pub fn from_ref(outer: &Outer) -> &T[src]

Get a reference to the inner from the outer.

pub fn from_mut(outer: &mut Outer) -> &mut T[src]

Get a mutable reference to the inner from the outer.

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<S, T> UncheckedInto<T> for S where
    T: UncheckedFrom<S>, 
[src]

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,