Cache

Struct Cache 

Source
pub struct Cache<'buffer> {
Show 13 fields pub handle: u16, pub socket_designation: &'buffer str, pub cache_configuration: CacheConfiguration, pub maximum_cache_size: CacheSize, pub installed_size: CacheSize, pub supported_sram_type: CacheSramType, pub current_sram_type: CacheSramType, pub cache_speed: Option<u8>, pub error_correction_type: Option<CacheErrorCorrectionType>, pub system_cache_type: Option<SystemCacheType>, pub associativity: Option<CacheAssociativity>, pub maximum_cache_size_2: Option<CacheSize2>, pub installed_size_2: Option<CacheSize2>,
}
Expand description

The Cache Information table defined in the SMBIOS specification.

Optional fields will only be set if the version of the parsed SMBIOS table is high enough to have defined the field.

Fields§

§handle: u16§socket_designation: &'buffer str

String number for reference designation EXAMPLE: “CACHE1”, 0

§cache_configuration: CacheConfiguration

Cache Configuration

§maximum_cache_size: CacheSize

Maximum size that can be installed

§installed_size: CacheSize

Same format as Max Cache Size field; set to 0 if no cache is installed

§supported_sram_type: CacheSramType

Supported SRAM Type

§current_sram_type: CacheSramType

Current SRAM Type

§cache_speed: Option<u8>

Cache module speed, in nanoseconds. The value is 0 if the speed is unknown.

§error_correction_type: Option<CacheErrorCorrectionType>

Error-correction scheme supported by this cache component

§system_cache_type: Option<SystemCacheType>

Logical type of cache

§associativity: Option<CacheAssociativity>

Associativity of the cache

§maximum_cache_size_2: Option<CacheSize2>

If this field is present, for cache sizes of 2047 MB or smaller the value in the Max size in given granularity portion of the field equals the size given in the corresponding portion of the Maximum Cache Size field, and the Granularity bit matches the value of the Granularity bit in the Maximum Cache Size field. For Cache sizes greater than 2047 MB, the Maximum Cache Size field is set to 0xFFFF and the Maximum Cache Size 2 field is present, the Granularity bit is set to 1b, and the size set as required;

§installed_size_2: Option<CacheSize2>

Same format as Maximum Cache Size 2 field; Absent or set to 0 if no cache is installed.

Trait Implementations§

Source§

impl<'buffer> Clone for Cache<'buffer>

Source§

fn clone(&self) -> Cache<'buffer>

Returns a duplicate 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<'buffer> Debug for Cache<'buffer>

Source§

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

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

impl<'buffer> Hash for Cache<'buffer>

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl<'buffer> PartialEq for Cache<'buffer>

Source§

fn eq(&self, other: &Cache<'buffer>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'buffer> Eq for Cache<'buffer>

Source§

impl<'buffer> StructuralPartialEq for Cache<'buffer>

Auto Trait Implementations§

§

impl<'buffer> Freeze for Cache<'buffer>

§

impl<'buffer> RefUnwindSafe for Cache<'buffer>

§

impl<'buffer> Send for Cache<'buffer>

§

impl<'buffer> Sync for Cache<'buffer>

§

impl<'buffer> Unpin for Cache<'buffer>

§

impl<'buffer> UnwindSafe for Cache<'buffer>

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, dest: *mut u8)

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

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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.