pub struct Interest(/* private fields */);
net
only.Expand description
Readiness event interest.
Specifies the readiness events the caller is interested in when awaiting on I/O resource readiness states.
Implementations§
Source§impl Interest
impl Interest
Sourcepub const LIO: Interest = _
Available on FreeBSD only.
pub const LIO: Interest = _
Interest for POSIX AIO lio_listio
events.
Sourcepub const READABLE: Interest = _
pub const READABLE: Interest = _
Interest in all readable events.
Readable interest includes read-closed events.
Sourcepub const WRITABLE: Interest = _
pub const WRITABLE: Interest = _
Interest in all writable events.
Writable interest includes write-closed events.
Sourcepub const ERROR: Interest = _
pub const ERROR: Interest = _
Interest in error events.
Passes error interest to the underlying OS selector. Behavior is platform-specific, read your platform’s documentation.
Sourcepub const PRIORITY: Interest = _
Available on Linux or Android only.
pub const PRIORITY: Interest = _
Returns a Interest
set representing priority completion interests.
Sourcepub const fn is_readable(self) -> bool
pub const fn is_readable(self) -> bool
Returns true if the value includes readable interest.
§Examples
use tokio::io::Interest;
assert!(Interest::READABLE.is_readable());
assert!(!Interest::WRITABLE.is_readable());
let both = Interest::READABLE | Interest::WRITABLE;
assert!(both.is_readable());
Sourcepub const fn is_writable(self) -> bool
pub const fn is_writable(self) -> bool
Returns true if the value includes writable interest.
§Examples
use tokio::io::Interest;
assert!(!Interest::READABLE.is_writable());
assert!(Interest::WRITABLE.is_writable());
let both = Interest::READABLE | Interest::WRITABLE;
assert!(both.is_writable());
Sourcepub const fn is_error(self) -> bool
pub const fn is_error(self) -> bool
Returns true if the value includes error interest.
§Examples
use tokio::io::Interest;
assert!(Interest::ERROR.is_error());
assert!(!Interest::WRITABLE.is_error());
let combined = Interest::READABLE | Interest::ERROR;
assert!(combined.is_error());
Sourcepub const fn is_priority(self) -> bool
Available on Linux or Android only.
pub const fn is_priority(self) -> bool
Returns true if the value includes priority interest.
§Examples
use tokio::io::Interest;
assert!(!Interest::READABLE.is_priority());
assert!(Interest::PRIORITY.is_priority());
let both = Interest::READABLE | Interest::PRIORITY;
assert!(both.is_priority());
Sourcepub const fn add(self, other: Interest) -> Interest
pub const fn add(self, other: Interest) -> Interest
Add together two Interest
values.
This function works from a const
context.
§Examples
use tokio::io::Interest;
const BOTH: Interest = Interest::READABLE.add(Interest::WRITABLE);
assert!(BOTH.is_readable());
assert!(BOTH.is_writable());
Sourcepub fn remove(self, other: Interest) -> Option<Interest>
pub fn remove(self, other: Interest) -> Option<Interest>
Remove Interest
from self
.
Interests present in other
but not in self
are ignored.
Returns None
if the set would be empty after removing Interest
.
§Examples
use tokio::io::Interest;
const RW_INTEREST: Interest = Interest::READABLE.add(Interest::WRITABLE);
let w_interest = RW_INTEREST.remove(Interest::READABLE).unwrap();
assert!(!w_interest.is_readable());
assert!(w_interest.is_writable());
// Removing all interests from the set returns `None`.
assert_eq!(w_interest.remove(Interest::WRITABLE), None);
// Remove all interests at once.
assert_eq!(RW_INTEREST.remove(RW_INTEREST), None);
Trait Implementations§
Source§impl BitOrAssign for Interest
impl BitOrAssign for Interest
Source§fn bitor_assign(&mut self, other: Self)
fn bitor_assign(&mut self, other: Self)
|=
operation. Read moreimpl Copy for Interest
impl Eq for Interest
impl StructuralPartialEq for Interest
Auto Trait Implementations§
impl Freeze for Interest
impl RefUnwindSafe for Interest
impl Send for Interest
impl Sync for Interest
impl Unpin for Interest
impl UnwindSafe for Interest
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 8 bytes