Структура Owned Mapped Mutex Guard
pub struct OwnedMappedMutexGuard<T: ?Sized, U: ?Sized = T> { /* private fields */ }
sync.Владеющий дескриптор захваченного Mutex, к которому была применена функция через OwnedMutexGuard::map.
Можно использовать для удержания подполе защищённых данных.
Реализации
impl<T: ?Sized, U: ?Sized> OwnedMappedMutexGuard<T, U>
pub fn map<S, F>(this: Self, f: F) -> OwnedMappedMutexGuard<T, S>
Создаёт новый OwnedMappedMutexGuard для компонента заблокированных данных.
Эта операция не может завершиться неудачей, поскольку переданный OwnedMappedMutexGuard уже заблокировал мьютекс.
Это ассоциированная функция, которую необходимо вызывать как OwnedMappedMutexGuard::map(...). Метод помешал бы использовать методы с таким же именем для содержимого заблокированных данных.
pub fn try_map<S, F>( this: Self, f: F, ) -> Result<OwnedMappedMutexGuard<T, S>, Self>
Пытается создать новый OwnedMappedMutexGuard для компонента заблокированных данных. Если замыкание возвращает None, возвращается исходный guard.
Эта операция не может завершиться неудачей, поскольку переданный OwnedMutexGuard уже заблокировал мьютекс.
Это ассоциированная функция, которую необходимо вызывать как OwnedMutexGuard::try_map(...). Метод помешал бы использовать методы с таким же именем для содержимого заблокированных данных.
Реализации трейтов
impl<T: ?Sized, U: ?Sized + Debug> Debug for OwnedMappedMutexGuard<T, U>
impl<T: ?Sized, U: ?Sized> Deref for OwnedMappedMutexGuard<T, U>
impl<T: ?Sized, U: ?Sized> DerefMut for OwnedMappedMutexGuard<T, U>
impl<T: ?Sized, U: ?Sized> Drop for OwnedMappedMutexGuard<T, U>
impl<T, U> Send for OwnedMappedMutexGuard<T, U>
impl<T, U> Sync for OwnedMappedMutexGuard<T, U>
Реализации автоматических трейтов
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>
impl<T, U> Unpin for OwnedMappedMutexGuard<T, U>
impl<T, U> UnsafeUnpin for OwnedMappedMutexGuard<T, U>
Общие реализации
impl<T> BorrowMut<T> for Twhere T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> Instrument for T
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
impl<P, T> Receiver for P
type Target = T
arbitrary_self_types)
impl<T> ToString for T
impl<T> WithSubscriber for T
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
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