pub trait StableMemory {
// Required methods
fn stable_size(&self) -> u64;
fn stable_grow(&self, new_pages: u64) -> Result<u64, StableMemoryError>;
fn stable_write(&self, offset: u64, buf: &[u8]);
fn stable_read(&self, offset: u64, buf: &mut [u8]);
}
๐Deprecated since 0.18.0: The
api::stable
module has been moved to stable
(crate root).Expand description
A trait defining the stable memory API which each canister running on the IC can make use of
Required Methodsยง
Sourcefn stable_size(&self) -> u64
๐Deprecated since 0.18.0: The api::stable
module has been moved to stable
(crate root).
fn stable_size(&self) -> u64
api::stable
module has been moved to stable
(crate root).Gets current size of the stable memory (in WASM pages).
Sourcefn stable_grow(&self, new_pages: u64) -> Result<u64, StableMemoryError>
๐Deprecated since 0.18.0: The api::stable
module has been moved to stable
(crate root).
fn stable_grow(&self, new_pages: u64) -> Result<u64, StableMemoryError>
api::stable
module has been moved to stable
(crate root).Attempts to grow the stable memory by new_pages
(added pages).
Returns an error if it wasnโt possible. Otherwise, returns the previous size that was reserved.
Note: Pages are 64KiB in WASM.
Sourcefn stable_write(&self, offset: u64, buf: &[u8])
๐Deprecated since 0.18.0: The api::stable
module has been moved to stable
(crate root).
fn stable_write(&self, offset: u64, buf: &[u8])
api::stable
module has been moved to stable
(crate root).Writes data to the stable memory location specified by an offset.
Warning - this will panic if offset + buf.len()
exceeds the current size of stable memory.
Use stable_grow
to request more stable memory if needed.
Sourcefn stable_read(&self, offset: u64, buf: &mut [u8])
๐Deprecated since 0.18.0: The api::stable
module has been moved to stable
(crate root).
fn stable_read(&self, offset: u64, buf: &mut [u8])
api::stable
module has been moved to stable
(crate root).Reads data from the stable memory location specified by an offset.