Spec-Zone.ru › Tokio

Структура OwnedMappedMutexGuard

pub struct OwnedMappedMutexGuard<T: ?Sized, U: ?Sized = T> { /* private fields */ }
Доступно только при включённой возможности crate sync.

Владеющий дескриптор захваченного Mutex, к которому была применена функция через OwnedMutexGuard::map.

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

Реализации

impl<T: ?Sized, U: ?Sized> OwnedMappedMutexGuard<T, U>

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

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

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

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

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

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

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

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

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

impl<T: ?Sized, U: ?Sized + Debug> Debug for OwnedMappedMutexGuard<T, U>

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

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

impl<T: ?Sized, U: ?Sized> Deref for OwnedMappedMutexGuard<T, U>

type Target = U

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

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

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

impl<T: ?Sized, U: ?Sized> DerefMut for OwnedMappedMutexGuard<T, U>

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

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

impl<T: ?Sized, U: ?Sized + Display> Display for OwnedMappedMutexGuard<T, U>

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

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

impl<T: ?Sized, U: ?Sized> Drop for OwnedMappedMutexGuard<T, U>

fn drop(&mut self)

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

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

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

impl<T, U> Send for OwnedMappedMutexGuard<T, U>
where T: ?Sized + Send, U: ?Sized + Send,

impl<T, U> Sync for OwnedMappedMutexGuard<T, U>
where T: ?Sized + Send + Sync, U: ?Sized + Send + Sync,

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

impl<T, U = T> !RefUnwindSafe for OwnedMappedMutexGuard<T, U>

impl<T, U = T> !UnwindSafe for OwnedMappedMutexGuard<T, U>

impl<T, U> Freeze for OwnedMappedMutexGuard<T, U>
where T: ?Sized, U: ?Sized,

impl<T, U> Unpin for OwnedMappedMutexGuard<T, U>
where T: ?Sized, U: ?Sized,

impl<T, U> UnsafeUnpin for OwnedMappedMutexGuard<T, U>
where T: ?Sized, U: ?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.OwnedMappedMutexGuard.html

Spec-Zone.ru

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