TimeSpec

Struct TimeSpec 

Source
#[repr(C)]
pub struct TimeSpec { pub tv_sec: c_long, pub tv_nsec: c_long, }
Expand description

用于指定秒和纳秒精度的时间

Fields§

§tv_sec: c_long

秒 (seconds)

§tv_nsec: c_long

纳秒 (nanoseconds)

Implementations§

Source§

impl TimeSpec

Source

pub const UTIME_NOW: c_long = 1_073_741_823i64

特殊值:设置为当前时间(UTIME_NOW,用于 utimensat)

Source

pub const UTIME_OMIT: c_long = 1_073_741_822i64

特殊值:不改变此时间(UTIME_OMIT,用于 utimensat)

Source

pub fn new(sec: c_long, nsec: c_long) -> Self

创建一个新的 TimeSpec 结构体

§参数:
  • sec: 秒数
  • nsec: 纳秒数
§返回值:
  • 对应的 TimeSpec 结构体
Source

pub fn into_freq(&self, freq: usize) -> usize

将 TimeSpec 转换为指定频率的刻度数。

§参数:
  • freq: 频率(每秒刻度数)
§返回值:
  • 刻度数
Source

pub fn from_freq(ticks: usize, freq: usize) -> Self

通过指定频率的刻度数创建 TimeSpec。

§参数:
  • ticks: 刻度数
  • freq: 频率(每秒刻度数)
§返回值:
  • 对应的 TimeSpec 结构体
Source

pub fn now() -> Self

获取当前墙上时钟时间的 TimeSpec。

§返回值:
  • 当前时间的 TimeSpec 结构体
Source

pub fn monotonic_now() -> Self

获取当前单调时钟时间的 TimeSpec。

§返回值:
  • 当前单调时间的 TimeSpec 结构体
Source

pub fn zero() -> Self

创建零时间的 TimeSpec。

§返回值:
  • 零时间的 TimeSpec 结构体
Source

pub fn validate(&self) -> Result<(), i32>

验证 TimeSpec 的有效性(用于 utimensat)

§返回值
  • Ok(()): 有效
  • Err(EINVAL): 无效
Source

pub fn to_timeval(&self) -> timeval

将 TimeSpec 转换为 timeval 结构体。

§返回值:
  • 对应的 timeval 结构体
Source

pub fn is_zero(&self) -> bool

检查是否为零时间

Source

pub fn is_now(&self) -> bool

检查是否为 UTIME_NOW(用于 utimensat)

Source

pub fn is_omit(&self) -> bool

检查是否为 UTIME_OMIT(用于 utimensat)

Trait Implementations§

Source§

impl Add for TimeSpec

Source§

type Output = TimeSpec

The resulting type after applying the + operator.
Source§

fn add(self, other: TimeSpec) -> TimeSpec

Performs the + operation. Read more
Source§

impl Clone for TimeSpec

Source§

fn clone(&self) -> TimeSpec

Returns a duplicate of the value. Read more
1.0.0§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for TimeSpec

Source§

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

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

impl Ord for TimeSpec

Source§

fn cmp(&self, other: &TimeSpec) -> Ordering

This method returns an [Ordering] between self and other. Read more
1.21.0§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl PartialEq for TimeSpec

Source§

fn eq(&self, other: &TimeSpec) -> bool

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

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 PartialOrd for TimeSpec

Source§

fn partial_cmp(&self, other: &TimeSpec) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0§

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

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0§

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

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0§

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

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0§

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

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl Sub for TimeSpec

Source§

type Output = TimeSpec

The resulting type after applying the - operator.
Source§

fn sub(self, other: TimeSpec) -> TimeSpec

Performs the - operation. Read more
Source§

impl Copy for TimeSpec

Source§

impl Eq for TimeSpec

Source§

impl StructuralPartialEq for TimeSpec

Auto Trait Implementations§

§

impl Freeze for TimeSpec

§

impl RefUnwindSafe for TimeSpec

§

impl Send for TimeSpec

§

impl Sync for TimeSpec

§

impl Unpin for TimeSpec

§

impl UnwindSafe for TimeSpec

Blanket Implementations§

§

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

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

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

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

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

§

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

Mutably borrows from an owned value. Read more
§

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

§

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
§

impl<Q, K> Comparable<K> for Q
where Q: Ord + ?Sized, K: Borrow<Q> + ?Sized,

§

fn compare(&self, key: &K) -> Ordering

Compare self to key and return their ordering.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

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

§

fn into(self) -> U

Calls U::from(self).

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

§

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

§

type Owned = T

The resulting type after obtaining ownership.
§

fn to_owned(&self) -> T

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

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

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

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

§

type Error = Infallible

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

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

Performs the conversion.
§

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

§

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

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

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

Performs the conversion.