use std::os::unix::prelude::OwnedFd;
use super::init::Init;
use crate::{
common::{container::Container, non_nul_string::NonNulString},
runtime::{exit_status::ExitStatus, runtime::Pid},
};
use serde::{Deserialize, Serialize};
#[derive(Debug)]
#[allow(clippy::large_enum_variant)]
pub enum Message {
CreateRequest {
init: Init,
io: [OwnedFd; 3],
console: Option<OwnedFd>,
sockets: Vec<OwnedFd>,
},
CreateResult { result: Result<Pid, String> },
ExecRequest {
container: Container,
path: NonNulString,
args: Vec<NonNulString>,
env: Vec<NonNulString>,
},
ExecResult,
}
#[derive(Debug, Serialize, Deserialize)]
pub enum Notification {
Exit {
container: Container,
exit_status: ExitStatus,
},
}