wasi_net/process/
exit_status.rs1#[derive(PartialEq, Eq, Clone, Copy)]
2pub struct ExitStatusError {
3 code: Option<i32>,
4}
5
6impl ExitStatusError {
7 pub fn code(&self) -> Option<i32> {
8 self.code.clone()
9 }
10
11 pub fn into_status(&self) -> ExitStatus {
12 ExitStatus { code: self.code }
13 }
14}
15
16#[derive(PartialEq, Eq, Clone, Copy)]
17pub struct ExitStatus {
18 pub(super) code: Option<i32>,
19}
20
21impl ExitStatus {
22 pub fn exit_ok(&self) -> Result<(), ExitStatusError> {
23 match self.code {
24 Some(a) if a == 0 => return Ok(()),
25 Some(a) => {
26 return Err(ExitStatusError { code: Some(a) });
27 }
28 None => return Ok(()),
29 }
30 }
31
32 pub fn success(&self) -> bool {
33 self.code.unwrap_or(0) == 0
34 }
35
36 pub fn code(&self) -> Option<i32> {
37 self.code
38 }
39}