#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub struct WasmResourceLimits {
pub fuel_per_process: u64,
pub max_memory_pages: u32,
}
impl Default for WasmResourceLimits {
fn default() -> Self {
Self {
fuel_per_process: 10_000_000,
max_memory_pages: 64,
}
}
}
impl WasmResourceLimits {
pub fn strict() -> Self {
Self {
fuel_per_process: 1_000_000,
max_memory_pages: 16,
}
}
pub fn permissive() -> Self {
Self {
fuel_per_process: 100_000_000,
max_memory_pages: 256,
}
}
pub fn max_memory_bytes(self) -> usize {
self.max_memory_pages as usize * 64 * 1024
}
}