use std::time::Duration;
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub struct Limits {
pub fuel: u64,
pub memory_bytes: usize,
pub wall_time: Duration,
pub max_stdio_bytes: usize,
pub max_module_bytes: usize,
}
impl Default for Limits {
fn default() -> Self {
Self {
fuel: DEFAULT_FUEL,
memory_bytes: DEFAULT_MEMORY_BYTES,
wall_time: Duration::from_secs(DEFAULT_WALL_SECS),
max_stdio_bytes: DEFAULT_STDIO_BYTES,
max_module_bytes: DEFAULT_MODULE_BYTES,
}
}
}
pub const DEFAULT_FUEL: u64 = 1_000_000_000;
pub const DEFAULT_MEMORY_BYTES: usize = 32 * 1024 * 1024;
pub const DEFAULT_WALL_SECS: u64 = 2;
pub const DEFAULT_STDIO_BYTES: usize = 1024 * 1024;
pub const DEFAULT_MODULE_BYTES: usize = 32 * 1024 * 1024;
pub(crate) const MAX_INSTANCES: usize = 8;
pub(crate) const MAX_MEMORIES: usize = 4;
pub(crate) const MAX_TABLES: usize = 8;