pub struct Process<T: Serialize + DeserializeOwned> { /* private fields */ }
Expand description
A sandboxed computation.
Processes are fundamental building blocks of Lunatic applications. Each of them has their own
memory space. The only way for processes to interact is trough [Serialize + DeserializeOwned
]
passing.
Safety:
It’s not safe to use mutable static
variables to share data between processes, because each
of them is going to see a separate heap and a unique static
variable.
Implementations
impl<T, U> Process<Request<T, U>> where
T: Serialize + DeserializeOwned,
U: Serialize + DeserializeOwned,
impl<T, U> Process<Request<T, U>> where
T: Serialize + DeserializeOwned,
U: Serialize + DeserializeOwned,
Trait Implementations
fn deserialize<D>(deserializer: D) -> Result<Process<T>, D::Error> where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Process<T>, D::Error> where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations
impl<T> !RefUnwindSafe for Process<T>
impl<T> UnwindSafe for Process<T> where
T: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more