Trait sc_allocator::Memory

source ·
pub trait Memory {
    fn with_access_mut<R>(&mut self, run: impl FnOnce(&mut [u8]) -> R) -> R;
    fn with_access<R>(&self, run: impl FnOnce(&[u8]) -> R) -> R;
    fn grow(&mut self, additional: u32) -> Result<(), ()>;
    fn pages(&self) -> u32;
    fn max_pages(&self) -> Option<u32>;
}
Expand description

Grants access to the memory for the allocator.

Memory of wasm is allocated in pages. A page has a constant size of 64KiB. The maximum allowed memory size as defined in the wasm specification is 4GiB (65536 pages).

Required Methods§

Run the given closure run and grant it write access to the raw memory.

Run the given closure run and grant it read access to the raw memory.

Grow the memory by additional pages.

Returns the current number of pages this memory has allocated.

Returns the maximum number of pages this memory is allowed to allocate.

The returned number needs to be smaller or equal to 65536. The returned number needs to be bigger or equal to Self::pages.

If None is returned, there is no maximum (besides the maximum defined in the wasm spec).

Implementors§