Struct cargo::util::cache_lock::CacheState
source · struct CacheState {
cache_lock: RecursiveLock,
mutate_lock: RecursiveLock,
}
Expand description
The state of the CacheLocker
.
Fields§
§cache_lock: RecursiveLock
The cache lock guards the package cache used for download and resolution (append operations that should not interfere with reading from existing src files).
mutate_lock: RecursiveLock
The mutate lock is used to either guard the entire package cache for destructive modifications (in exclusive mode), or for reading the package cache src files (in shared mode).
Note that CacheLockMode::MutateExclusive
holds both
CacheState::mutate_lock
and CacheState::cache_lock
.
Implementations§
source§impl CacheState
impl CacheState
fn lock( &mut self, gctx: &GlobalContext, mode: CacheLockMode, blocking: BlockingMode, ) -> CargoResult<LockingResult>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for CacheState
impl RefUnwindSafe for CacheState
impl Send for CacheState
impl Sync for CacheState
impl Unpin for CacheState
impl UnwindSafe for CacheState
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
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
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: 112 bytes