Spec-Zone.ru › Tokio

Struct MappedMutexGuard

pub struct MappedMutexGuard<'a, T: ?Sized> { /* private fields */ }
Доступно только при включённой функции crate sync.

Дескриптор удерживаемого Mutex, к которому была применена функция с помощью MutexGuard::map.

Его можно использовать для удержания подполю защищённых данных.

Реализации

impl<'a, T: ?Sized> MappedMutexGuard<'a, T>

pub fn map<U, F>(this: Self, f: F) -> MappedMutexGuard<'a, U>
where F: FnOnce(&mut T) -> &mut U,

Создаёт новый MappedMutexGuard для компонента заблокированных данных.

Эта операция не может завершиться неудачей, поскольку переданный MappedMutexGuard уже заблокировал мьютекс.

Это связанная функция, которую нужно использовать как MappedMutexGuard::map(...). Метод помешал бы использовать методы с таким же именем у содержимого заблокированных данных.

pub fn try_map<U, F>(this: Self, f: F) -> Result<MappedMutexGuard<'a, U>, Self>
where F: FnOnce(&mut T) -> Option<&mut U>,

Пытается создать новый MappedMutexGuard для компонента заблокированных данных. Если замыкание возвращает None, возвращается исходный guard.

Эта операция не может завершиться неудачей, поскольку переданный MappedMutexGuard уже заблокировал мьютекс.

Это связанная функция, которую нужно использовать как MappedMutexGuard::try_map(...). Метод помешал бы использовать методы с таким же именем у содержимого заблокированных данных.

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

impl<'a, T: ?Sized + Debug> Debug for MappedMutexGuard<'a, T>

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

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

impl<'a, T: ?Sized> Deref for MappedMutexGuard<'a, T>

type Target = T

Тип, получаемый в результате разыменования.

fn deref(&self) -> &Self::Target

Разыменовывает значение.

impl<'a, T: ?Sized> DerefMut for MappedMutexGuard<'a, T>

fn deref_mut(&mut self) -> &mut Self::Target

Разыменовывает значение с возможностью изменения.

impl<'a, T: ?Sized + Display> Display for MappedMutexGuard<'a, T>

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

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

impl<'a, T: ?Sized> Drop for MappedMutexGuard<'a, T>

fn drop(&mut self)

Выполняет деструктор этого типа. Подробнее

fn pin_drop(self: Pin<&mut Self>)

🔬Это экспериментальный API, доступный только в nightly-сборках. (pin_ergonomics)
Выполняет деструктор этого типа, но, в отличие от Drop::drop, требует, чтобы self был закреплён. Подробнее

impl<'a, T> Send for MappedMutexGuard<'a, T>
where T: ?Sized + Send + 'a,

impl<'a, T> Sync for MappedMutexGuard<'a, T>
where T: ?Sized + Sync + 'a,

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

impl<'a, T> !RefUnwindSafe for MappedMutexGuard<'a, T>

impl<'a, T> !UnwindSafe for MappedMutexGuard<'a, T>

impl<'a, T> Freeze for MappedMutexGuard<'a, T>
where T: ?Sized,

impl<'a, T> Unpin for MappedMutexGuard<'a, T>
where T: ?Sized,

impl<'a, T> UnsafeUnpin for MappedMutexGuard<'a, T>
where T: ?Sized,

Обобщённые реализации

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> 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<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

type Target = T

🔬Это экспериментальный API, доступный только в nightly. (arbitrary_self_types)
Целевой тип, для которого можно вызвать этот метод.

impl<T> ToString for T
where T: Display + ?Sized,

fn to_string(&self) -> String

Преобразует заданное значение в String. Подробнее

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/sync/struct.MappedMutexGuard.html

Spec-Zone.ru

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