procfs_core

Struct CpuInfo

source
pub struct CpuInfo {
    pub fields: HashMap<String, String>,
    pub cpus: Vec<HashMap<String, String>>,
}
Expand description

Represents the data from /proc/cpuinfo.

The fields field stores the fields that are common among all CPUs. The cpus field stores CPU-specific info.

For common fields, there are methods that will return the data, converted to a more appropriate data type. These methods will all return None if the field doesn’t exist, or is in some unexpected format (in that case, you’ll have to access the string data directly).

Fields§

§fields: HashMap<String, String>

This stores fields that are common among all CPUs

§cpus: Vec<HashMap<String, String>>

Implementations§

source§

impl CpuInfo

source

pub fn num_cores(&self) -> usize

Get the total number of cpu cores.

This is the number of entries in the /proc/cpuinfo file.

source

pub fn get_info(&self, cpu_num: usize) -> Option<HashMap<&str, &str>>

Get info for a specific cpu.

This will merge the common fields with the cpu-specific fields.

Returns None if the requested cpu index is not found.

source

pub fn get_field(&self, cpu_num: usize, field_name: &str) -> Option<&str>

Get the content of a specific field associated to a CPU

If the field is not found in the set of CPU-specific fields, then it is returned from the set of common fields.

Returns None if the requested cpu index is not found, or if the field is not found.

source

pub fn model_name(&self, cpu_num: usize) -> Option<&str>

source

pub fn vendor_id(&self, cpu_num: usize) -> Option<&str>

source

pub fn physical_id(&self, cpu_num: usize) -> Option<u32>

May not be available on some older 2.6 kernels

source

pub fn flags(&self, cpu_num: usize) -> Option<Vec<&str>>

Trait Implementations§

source§

impl Clone for CpuInfo

source§

fn clone(&self) -> CpuInfo

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for CpuInfo

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for CpuInfo

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl FromBufRead for CpuInfo

source§

impl Serialize for CpuInfo

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> FromRead for T
where T: FromBufRead,

source§

fn from_read<R>(r: R) -> Result<T, ProcError>
where R: Read,

Read the type from a Read.
source§

fn from_file<P: AsRef<Path>>(path: P) -> ProcResult<Self>

Read the type from a file.
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,