Struct PollFlags

#[repr(transparent)]
pub struct PollFlags(/* private field */);

These flags define the different events that can be monitored by poll and ppoll

Implementations

impl PollFlags

const POLLIN: Self = _;

There is data to read.

const POLLPRI: Self = _;

There is some exceptional condition on the file descriptor.

Possibilities include:

  • There is out-of-band data on a TCP socket (see tcp(7)).
  • A pseudoterminal master in packet mode has seen a state change on the slave (see ioctl_tty(2)).
  • A cgroup.events file has been modified (see cgroups(7)).
const POLLOUT: Self = _;

Writing is now possible, though a write larger that the available space in a socket or pipe will still block (unless O_NONBLOCK is set).

const POLLRDNORM: Self = _;

Equivalent to POLLIN

const POLLWRNORM: Self = _;

Equivalent to POLLOUT

const POLLRDBAND: Self = _;

Priority band data can be read (generally unused on Linux).

const POLLWRBAND: Self = _;

Priority data may be written.

const POLLERR: Self = _;

Error condition (only returned in PollFd::revents; ignored in PollFd::new). This bit is also set for a file descriptor referring to the write end of a pipe when the read end has been closed.

const POLLHUP: Self = _;

Hang up (only returned in PollFd::revents; ignored in PollFd::new). Note that when reading from a channel such as a pipe or a stream socket, this event merely indicates that the peer closed its end of the channel. Subsequent reads from the channel will return 0 (end of file) only after all outstanding data in the channel has been consumed.

const POLLNVAL: Self = _;

Invalid request: fd not open (only returned in PollFd::revents; ignored in PollFd::new).

impl PollFlags

const fn empty() -> Self

Get a flags value with all bits unset.

const fn all() -> Self

Get a flags value with all known bits set.

const fn bits(&self) -> c_short

Get the underlying bits value.

The returned value is exactly the bits set in this flags value.

const fn from_bits(bits: c_short) -> Option<Self>

Convert from a bits value.

This method will return None if any unknown bits are set.

const fn from_bits_truncate(bits: c_short) -> Self

Convert from a bits value, unsetting any unknown bits.

const fn from_bits_retain(bits: c_short) -> Self

Convert from a bits value exactly.

fn from_name(name: &str) -> Option<Self>

Get a flags value with the bits of a flag with the given name set.

This method will return None if name is empty or doesn't correspond to any named flag.

const fn is_empty(&self) -> bool

Whether all bits in self are unset.

const fn is_all(&self) -> bool

Whether all known bits in this flags value are set.

const fn intersects(&self, other: Self) -> bool

Whether any set bits in other are also set in self.

const fn contains(&self, other: Self) -> bool

Whether all set bits in other are also set in self.

fn insert(&mut self, other: Self)

The bitwise or (|) of the bits in self and other.

fn remove(&mut self, other: Self)

The intersection of self with the complement of other (&!).

This method is not equivalent to self & !other when other has unknown bits set. remove won't truncate other, but the ! operator will.

fn toggle(&mut self, other: Self)

The bitwise exclusive-or (^) of the bits in self and other.

fn set(&mut self, other: Self, value: bool)

Call insert when value is true or remove when value is false.

const fn intersection(self, other: Self) -> Self

The bitwise and (&) of the bits in self and other.

const fn union(self, other: Self) -> Self

The bitwise or (|) of the bits in self and other.

const fn difference(self, other: Self) -> Self

The intersection of self with the complement of other (&!).

This method is not equivalent to self & !other when other has unknown bits set. difference won't truncate other, but the ! operator will.

const fn symmetric_difference(self, other: Self) -> Self

The bitwise exclusive-or (^) of the bits in self and other.

const fn complement(self) -> Self

The bitwise negation (!) of the bits in self, truncating the result.

impl PollFlags

const fn iter(&self) -> Iter<PollFlags>

Yield a set of contained flags values.

Each yielded flags value will correspond to a defined named flag. Any unknown bits will be yielded together as a final flags value.

const fn iter_names(&self) -> IterNames<PollFlags>

Yield a set of contained named flags values.

This method is like iter, except only yields bits in contained named flags. Any unknown bits, or bits not corresponding to a contained flag will not be yielded.

Trait Implementations

impl Binary for PollFlags

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

impl BitAnd for PollFlags

type Output = PollFlags;
fn bitand(self, other: Self) -> Self

The bitwise and (&) of the bits in self and other.

impl BitAndAssign for PollFlags

fn bitand_assign(&mut self, other: Self)

The bitwise and (&) of the bits in self and other.

impl BitOr for PollFlags

type Output = PollFlags;
fn bitor(self, other: PollFlags) -> Self

The bitwise or (|) of the bits in self and other.

impl BitOrAssign for PollFlags

fn bitor_assign(&mut self, other: Self)

The bitwise or (|) of the bits in self and other.

impl BitXor for PollFlags

type Output = PollFlags;
fn bitxor(self, other: Self) -> Self

The bitwise exclusive-or (^) of the bits in self and other.

impl BitXorAssign for PollFlags

fn bitxor_assign(&mut self, other: Self)

The bitwise exclusive-or (^) of the bits in self and other.

impl Clone for PollFlags

fn clone(&self) -> Self

impl Copy for PollFlags

impl Debug for PollFlags

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

impl Eq for PollFlags

impl Extend<PollFlags> for PollFlags

fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)

The bitwise or (|) of the bits in each flags value.

impl Flags for PollFlags

const FLAGS: &'static [Flag<PollFlags>] = _;
type Bits = i16;
fn bits(&self) -> c_short
fn from_bits_retain(bits: c_short) -> PollFlags
fn all_named() -> PollFlags

impl FromIterator<PollFlags> for PollFlags

fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self

The bitwise or (|) of the bits in each flags value.

impl Hash for PollFlags

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

impl IntoIterator for PollFlags

type Item = PollFlags;
type IntoIter = Iter<PollFlags>;
fn into_iter(self) -> Self::IntoIter

impl LowerHex for PollFlags

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

impl Not for PollFlags

type Output = PollFlags;
fn not(self) -> Self

The bitwise negation (!) of the bits in self, truncating the result.

impl Octal for PollFlags

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

impl Ord for PollFlags

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

impl PartialEq for PollFlags

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

impl PartialOrd for PollFlags

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

impl PublicFlags for PollFlags

type Primitive = i16;
type Internal = InternalBitFlags;

impl StructuralPartialEq for PollFlags

impl Sub for PollFlags

type Output = PollFlags;
fn sub(self, other: Self) -> Self

The intersection of self with the complement of other (&!).

This method is not equivalent to self & !other when other has unknown bits set. difference won't truncate other, but the ! operator will.

impl SubAssign for PollFlags

fn sub_assign(&mut self, other: Self)

The intersection of self with the complement of other (&!).

This method is not equivalent to self & !other when other has unknown bits set. difference won't truncate other, but the ! operator will.

impl UpperHex for PollFlags

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

Auto Trait Implementations

impl Freeze for PollFlags

impl RefUnwindSafe for PollFlags

impl Send for PollFlags

impl Sync for PollFlags

impl Unpin for PollFlags

impl UnsafeUnpin for PollFlags

impl UnwindSafe for PollFlags

Blanket Implementations

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

fn type_id(&self) -> TypeId

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

fn borrow(&self) -> &T

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

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

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

unsafe fn clone_to_uninit(&self, dest: *mut u8)

impl<T> From<T> for PollFlags

fn from(t: T) -> T

Returns the argument unchanged.

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

type Owned = T;
fn to_owned(&self) -> T
fn clone_into(&self, target: &mut T)

impl<T, U> Into<U> for PollFlags 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, U> TryFrom<U> for PollFlags where U: Into<T>,

type Error = never;
fn try_from(value: U) -> Result<T, never>

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

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