procfs_core/process/
schedstat.rs1use crate::from_iter;
2use crate::ProcResult;
3use std::io::Read;
4
5#[cfg(feature = "serde1")]
6use serde::{Deserialize, Serialize};
7
8#[derive(Debug, Clone)]
10#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
11pub struct Schedstat {
12 pub sum_exec_runtime: u64,
16 pub run_delay: u64,
20 pub pcount: u64,
22}
23
24impl crate::FromRead for Schedstat {
25 fn from_read<R: Read>(mut r: R) -> ProcResult<Self> {
26 let mut line = String::new();
27 r.read_to_string(&mut line)?;
28 let mut s = line.split_whitespace();
29
30 let schedstat = Schedstat {
31 sum_exec_runtime: expect!(from_iter(&mut s)),
32 run_delay: expect!(from_iter(&mut s)),
33 pcount: expect!(from_iter(&mut s)),
34 };
35
36 if cfg!(test) {
37 assert!(s.next().is_none());
38 }
39
40 Ok(schedstat)
41 }
42}