Struct CacheGlobalLock
pub struct CacheGlobalLock { /* private fields */ }Expand description
A global lock for the entire package cache.
This can be used to reduce lock overhead when performing many package operations by acquiring a single global lock instead of individual per-package locks.
Implementations§
§impl CacheGlobalLock
impl CacheGlobalLock
pub async fn acquire(
path: &Path,
) -> Result<CacheGlobalLock, PackageCacheLayerError>
pub async fn acquire( path: &Path, ) -> Result<CacheGlobalLock, PackageCacheLayerError>
Acquires a global write lock on the package cache.
This lock should be used to coordinate access across multiple package operations to reduce the overhead of acquiring individual locks.
Trait Implementations§
§impl Debug for CacheGlobalLock
impl Debug for CacheGlobalLock
Auto Trait Implementations§
impl Freeze for CacheGlobalLock
impl RefUnwindSafe for CacheGlobalLock
impl Send for CacheGlobalLock
impl Sync for CacheGlobalLock
impl Unpin for CacheGlobalLock
impl UnwindSafe for CacheGlobalLock
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>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreCreates a shared type from an unshared type.