Spec-Zone.ru › Tokio

Структура Interest

pub struct Interest(/* private fields */);
Доступно только при включённой функции crate net, либо tokio_unstable и Linux, а также функции crate fs и функции crate io-uring и функции crate rt.

Интерес к событию готовности.

Указывает события готовности, которые интересуют вызывающий код при ожидании состояний готовности ресурса ввода-вывода.

Реализации

impl Interest

pub const AIO: Interest

Доступно только на FreeBSD и при включённом компоненте net.

Интерес к POSIX AIO.

pub const LIO: Interest

Доступно только на FreeBSD и при включённом компоненте net.

Интерес к событиям POSIX AIO lio_listio.

pub const READABLE: Interest

Доступно только при включённом компоненте net либо tokio_unstable и Linux и компоненте fs и компоненте io-uring и компоненте rt, либо Unix и компоненте process, либо Unix и компоненте signal.

Интерес ко всем событиям чтения.

Интерес к чтению включает события закрытия для чтения.

pub const WRITABLE: Interest

Доступно только при включённом компоненте net либо tokio_unstable и Linux и компоненте fs и компоненте io-uring и компоненте rt, либо Unix и компоненте process, либо Unix и компоненте signal.

Интерес ко всем событиям записи.

Интерес к записи включает события закрытия для записи.

pub const ERROR: Interest

Доступно только при включённом компоненте net либо tokio_unstable и Linux и компоненте fs и компоненте io-uring и компоненте rt, либо Unix и компоненте process, либо Unix и компоненте signal.

Интерес к событиям ошибок.

Передаёт интерес к ошибкам нижележащему селектору ОС. Поведение зависит от платформы; см. документацию для вашей платформы.

pub const PRIORITY: Interest

Доступно только на Android или Linux.

Возвращает набор Interest, представляющий интерес к событиям завершения с приоритетом.

pub const fn is_readable(self) -> bool

Доступно только при включённом компоненте net либо tokio_unstable и Linux и компоненте fs и компоненте io-uring и компоненте rt, либо Unix и компоненте process, либо Unix и компоненте signal.

Возвращает true, если значение включает интерес к чтению.

Примеры
use tokio::io::Interest;

assert!(Interest::READABLE.is_readable());
assert!(!Interest::WRITABLE.is_readable());

let both = Interest::READABLE | Interest::WRITABLE;
assert!(both.is_readable());

pub const fn is_writable(self) -> bool

Доступно только при включённом компоненте net либо tokio_unstable и Linux и компоненте fs и компоненте io-uring и компоненте rt, либо Unix и компоненте process, либо Unix и компоненте signal.

Возвращает true, если значение включает интерес к записи.

Примеры
use tokio::io::Interest;

assert!(!Interest::READABLE.is_writable());
assert!(Interest::WRITABLE.is_writable());

let both = Interest::READABLE | Interest::WRITABLE;
assert!(both.is_writable());

pub const fn is_error(self) -> bool

Доступно только при включённом компоненте net либо tokio_unstable и Linux и компоненте fs и компоненте io-uring и компоненте rt, либо Unix и компоненте process, либо Unix и компоненте signal.

Возвращает true, если значение включает интерес к ошибкам.

Примеры
use tokio::io::Interest;

assert!(Interest::ERROR.is_error());
assert!(!Interest::WRITABLE.is_error());

let combined = Interest::READABLE | Interest::ERROR;
assert!(combined.is_error());

pub const fn is_priority(self) -> bool

Доступно только на Android или Linux.

Возвращает true, если значение включает интерес к событиям с приоритетом.

Примеры
use tokio::io::Interest;

assert!(!Interest::READABLE.is_priority());
assert!(Interest::PRIORITY.is_priority());

let both = Interest::READABLE | Interest::PRIORITY;
assert!(both.is_priority());

pub const fn add(self, other: Interest) -> Interest

Доступно только при функции crate net или tokio_unstable и Linux, а также функции crate fs и функции crate io-uring и функции crate rt; либо Unix и функции crate process; либо Unix и функции crate signal.

Сложить два значения Interest.

Эта функция работает в контексте const.

Примеры
use tokio::io::Interest;

const BOTH: Interest = Interest::READABLE.add(Interest::WRITABLE);

assert!(BOTH.is_readable());
assert!(BOTH.is_writable());

pub fn remove(self, other: Interest) -> Option<Interest>

Доступно только при функции crate net или tokio_unstable и Linux, а также функции crate fs и функции crate io-uring и функции crate rt; либо Unix и функции crate process; либо Unix и функции crate signal.

Удалить Interest из self.

Элементы интереса, присутствующие в other, но не в self, игнорируются.

Возвращает None, если после удаления Interest набор окажется пустым.

Примеры
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);

Реализации трейтов

impl BitOr for Interest

Доступно только при функции crate net либо tokio_unstable и Linux, а также функции crate fs и функции crate io-uring и функции crate rt, либо Unix и функции crate process, либо Unix и функции crate signal.

type Output = Interest

Тип результата после применения оператора |.

fn bitor(self, other: Self) -> Self

Выполняет операцию |. Подробнее

impl BitOrAssign for Interest

Доступно только при функции crate net либо tokio_unstable и Linux, а также функции crate fs и функции crate io-uring и функции crate rt, либо Unix и функции crate process, либо Unix и функции crate signal.

fn bitor_assign(&mut self, other: Self)

Выполняет операцию |=. Подробнее

impl Clone for Interest

Доступно только при функции crate net либо tokio_unstable и Linux, а также функции crate fs и функции crate io-uring и функции crate rt, либо Unix и функции crate process, либо Unix и функции crate signal.

fn clone(&self) -> Interest

Возвращает копию значения. Подробнее
1.0.0 (const: unstable) ·

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

Выполняет копирующее присваивание из source. Подробнее

impl Copy for Interest

Доступно только при функции crate net либо tokio_unstable и Linux, а также функции crate fs и функции crate io-uring и функции crate rt, либо Unix и функции crate process, либо Unix и функции crate signal.

impl Debug for Interest

Доступно только при функции crate net либо tokio_unstable и Linux, а также функции crate fs и функции crate io-uring и функции crate rt, либо Unix и функции crate process, либо Unix и функции crate signal.

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

Форматирует значение с помощью указанного форматтера. Подробнее

impl Eq for Interest

Доступно только при функции crate net либо tokio_unstable и Linux, а также функции crate fs, функции crate io-uring и функции crate rt либо Unix и функции crate process либо Unix и функции crate signal.

impl PartialEq for Interest

Доступно только при функции crate net либо tokio_unstable и Linux, а также функции crate fs, функции crate io-uring и функции crate rt либо Unix и функции crate process либо Unix и функции crate signal.

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

Оператор равенства ==. Подробнее
1.0.0 (const: unstable) ·

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

Оператор неравенства !=. Подробнее

impl StructuralPartialEq for Interest

Доступно только при функции crate net либо tokio_unstable и Linux, а также функции crate fs, функции crate io-uring и функции crate rt либо Unix и функции crate process либо Unix и функции crate signal.

Реализации автоматических трейтов

impl Freeze for Interest

impl RefUnwindSafe for Interest

impl Send for Interest

impl Sync for Interest

impl Unpin for Interest

impl UnsafeUnpin for Interest

impl UnwindSafe for Interest

Общие реализации

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

fn type_id(&self) -> TypeId

Получает TypeId у self. Подробнее

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> CloneToUninit for T
where T: Clone,

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

🔬Это экспериментальный API, доступный только в nightly-сборке. (clone_to_uninit)
Выполняет копирующее присваивание из self в dest. Подробнее

impl<T> From<T> for T

fn from(t: T) -> T

Возвращает аргумент без изменений.

impl<T> Instrument for T

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Инструментирует этот тип с помощью предоставленного Span, возвращая обёртку Instrumented. Подробнее

fn in_current_span(self) -> Instrumented<Self> ⓘ

Инструментирует этот тип с помощью текущего Span, возвращая обёртку Instrumented. Подробнее

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

fn into(self) -> U

Вызывает U::from(self).

То есть это преобразование выполняет то, что выбирает реализация From<T> for U.

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>

Выполняет преобразование.

impl<T> WithSubscriber for T

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Присоединяет предоставленный Subscriber к этому типу и возвращает обёртку WithDispatch. Подробнее

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Присоединяет текущий по умолчанию Subscriber к этому типу и возвращает обёртку WithDispatch. Подробнее

MIT License
Copyright © Tokio Contributors
https://docs.rs/tokio/1.53.1/tokio/io/struct.Interest.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API