MCPcopy Create free account
hub / github.com/explodingcamera/tinywasm / read_vec

Method read_vec

crates/tinywasm/src/store/memory/mod.rs:148–157  ·  view source on GitHub ↗

Reads `len` bytes starting at `addr` into a newly allocated buffer.

(&self, addr: usize, len: usize)

Source from the content-addressed store, hash-verified

146
147 /// Reads `len` bytes starting at `addr` into a newly allocated buffer.
148 fn read_vec(&self, addr: usize, len: usize) -> Option<Vec<u8>> {
149 let end = addr.checked_add(len)?;
150 if end > self.len() {
151 return None;
152 }
153
154 let mut data = vec![0; len];
155 self.read_exact(addr, &mut data)?;
156 Some(data)
157 }
158
159 /// Reads exactly 1 byte at the effective address `base + offset`.
160 fn read_8(&self, base: u64, offset: u64) -> core::result::Result<u8, crate::Trap> {

Callers

nothing calls this directly

Implementers 3

vec.rscrates/tinywasm/src/store/memory/vec.r
paged.rscrates/tinywasm/src/store/memory/paged
lazy.rscrates/tinywasm/src/store/memory/lazy.

Calls 2

lenMethod · 0.45
read_exactMethod · 0.45

Tested by

no test coverage detected