pub trait ProcessConfig:
Clone
+ Serialize
+ DeserializeOwned {
// Required methods
fn set_max_fuel(&mut self, max_fuel: Option<u64>);
fn get_max_fuel(&self) -> Option<u64>;
fn set_max_memory(&mut self, max_memory: usize);
fn get_max_memory(&self) -> usize;
}
Expand description
Common process configuration.
Each process in lunatic can have specific limits and permissions. These properties are set
through a process configuration that is used when a process is spawned. Once the process is
spawned the configuration can’t be changed anymore. The process configuration heavily depends
on the ProcessState
that defines host functions available to
the process. This host functions are the ones that consider specific configuration while
performing operations.
However, two properties of a process are enforced by the runtime (maximum memory and maximum fuel usage). This two properties need to be part of every configuration.
ProcessConfig
must be serializable in case it is used to spawn processes on other nodes.
Required Methods§
fn set_max_fuel(&mut self, max_fuel: Option<u64>)
fn get_max_fuel(&self) -> Option<u64>
fn set_max_memory(&mut self, max_memory: usize)
fn get_max_memory(&self) -> usize
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.