pub enum PreparedVersionState {
Preparing(Arc<Notify>),
Ready(PreparedSourceVersion),
}Expand description
State of a prepared version in the concurrent preparation cache.
This enum enables safe concurrent access to version preparation:
- Multiple callers requesting the same version will coordinate
- Only one caller performs the actual preparation
- Other callers wait for the preparation to complete
Variants§
Preparing(Arc<Notify>)
Version is being prepared by another task. Wait on the Notify.
Ready(PreparedSourceVersion)
Version is ready to use.
Trait Implementations§
Source§impl Clone for PreparedVersionState
impl Clone for PreparedVersionState
Source§fn clone(&self) -> PreparedVersionState
fn clone(&self) -> PreparedVersionState
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for PreparedVersionState
impl !RefUnwindSafe for PreparedVersionState
impl Send for PreparedVersionState
impl Sync for PreparedVersionState
impl Unpin for PreparedVersionState
impl UnwindSafe for PreparedVersionState
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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 more