use serde::{Deserialize, Serialize};
pub const DEFAULT_HEAP_SIZE: u32 = 128 * 1024;
pub const DEFAULT_STACK_SIZE: u32 = 128 * 1024;
#[derive(Clone, Copy, Debug, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct MemoryConfig {
#[serde(skip_serializing_if = "Option::is_none")]
pub heap_size: Option<u32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub stack_size: Option<u32>,
}
impl MemoryConfig {
pub fn new(heap_size: Option<u32>, stack_size: Option<u32>) -> Self {
Self {
heap_size,
stack_size,
}
}
}
impl Default for MemoryConfig {
fn default() -> Self {
Self {
heap_size: Some(DEFAULT_HEAP_SIZE),
stack_size: Some(DEFAULT_STACK_SIZE),
}
}
}