Enum rustix::io::Advice

#[repr(u32)]
pub enum Advice {    
    Normal,
    Sequential,
    Random,
    WillNeed,
    LinuxDontNeed,
    LinuxFree,
    LinuxRemove,
    LinuxDontFork,
    LinuxDoFork,
    LinuxHwPoison,
    LinuxSoftOffline,
    LinuxMergeable,
    LinuxUnmergeable,
    LinuxHugepage,
    LinuxNoHugepage,
    LinuxDontDump,
    LinuxDoDump,
    LinuxWipeOnFork,
    LinuxKeepOnFork,
    LinuxCold,
    LinuxPageOut,
}
Documentation

POSIX_MADV_* constants for use with madvise.

Variants

Normal

POSIX_MADV_NORMAL

Sequential

POSIX_MADV_SEQUENTIAL

Random

POSIX_MADV_RANDOM

WillNeed

POSIX_MADV_WILLNEED

LinuxDontNeed

MADV_DONTNEED

LinuxFree

MADV_FREE (since Linux 4.5)

LinuxRemove

MADV_REMOVE

LinuxDontFork

MADV_DONTFORK

LinuxDoFork

MADV_DOFORK

LinuxHwPoison

MADV_HWPOISON

LinuxSoftOffline

MADV_SOFT_OFFLINE

LinuxMergeable

MADV_MERGEABLE

LinuxUnmergeable

MADV_UNMERGEABLE

LinuxHugepage

MADV_HUGEPAGE (since Linux 2.6.38)

LinuxNoHugepage

MADV_NOHUGEPAGE (since Linux 2.6.38)

LinuxDontDump

MADV_DONTDUMP (since Linux 3.4)

LinuxDoDump

MADV_DODUMP (since Linux 3.4)

LinuxWipeOnFork

MADV_WIPEONFORK (since Linux 4.14)

LinuxKeepOnFork

MADV_KEEPONFORK (since Linux 4.14)

LinuxCold

MADV_COLD (since Linux 5.4)

LinuxPageOut

MADV_PAGEOUT (since Linux 5.4)

Implementations

impl Advice
const DontNeed: Self = Self::Normal

POSIX_MADV_DONTNEED

On Linux, this is mapped to POSIX_MADV_NORMAL because Linux’s MADV_DONTNEED differs from POSIX_MADV_DONTNEED. See LinuxDontNeed for the Linux behavior.

Trait Implementations

impl Clone for Advice
fn clone(&Self) -> Advice
impl Copy for Advice
impl Debug for Advice
fn fmt(&Self, f: &mut $crate::fmt::Formatter<'_>) -> $crate::fmt::Result
impl Eq for Advice
impl PartialEq<Advice> for Advice
fn eq(&Self, other: &Advice) -> bool
impl StructuralEq for Advice

Auto Trait Implementations

impl RefUnwindSafe for Advice
impl Send for Advice
impl Sync for Advice
impl Unpin for Advice
impl UnwindSafe for Advice

Blanket Implementations

impl<T> Any for T
where
    T: 'static + ?Sized,
fn type_id(&Self) -> TypeId
impl<T> Borrow<T> for T
where
    T: ?Sized,
fn borrow(&Self) -> &T
impl<T> BorrowMut<T> for T
where
    T: ?Sized,
fn borrow_mut(&mut Self) -> &mut T
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
fn to_owned(&Self) -> T
fn clone_into(&Self, target: &mut T)
impl<T, U> TryFrom<U> for T
where
    U: Into<T>,
type Error = Infallible
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto<U> for T
where
    U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
fn try_into(Self) -> Result<U, <U as TryFrom<T>>::Error>