pub enum Holding {
OwnerRunning,
RunRootOccupied,
PublicationRunning,
}Expand description
How a host can tell that something still holds a branch.
Three answers rather than one, because they are true at different times: a
consumer holding a Session keeps the process that opened it alive, while the
CLI takes an occupancy lease per command and outlives none of them — either is a
session that has not finished with its branch — and a branch-keyed publication
(publish-branch, recover) holds the branch under no session at all, for as
long as it runs.
Variants§
OwnerRunning
The session is open and the process that opened it is still running, which is
the question Liveness::Live answers.
RunRootOccupied
Something holds the occupancy lease on its run root right now, so a command is working in there whatever became of the process that opened the session.
PublicationRunning
A publication of the branch is running right now, under no session. Its
HeldBy::token is None.
Implementations§
Trait Implementations§
impl Copy for Holding
Source§impl<'de> Deserialize<'de> for Holding
impl<'de> Deserialize<'de> for Holding
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for Holding
impl StructuralPartialEq for Holding
Auto Trait Implementations§
impl Freeze for Holding
impl RefUnwindSafe for Holding
impl Send for Holding
impl Sync for Holding
impl Unpin for Holding
impl UnsafeUnpin for Holding
impl UnwindSafe for Holding
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.