pub struct SessionRecord {
pub session: Session,
pub identity: String,
pub lifecycle: Lifecycle,
pub provenance: Provenance,
pub retried_by: Option<SessionToken>,
}Expand description
Everything the implementation that opened a session records about it.
A Session is the handle a caller was given; this is what the repository side
knows about it afterwards, and it is why the record had to come through the
interface: which repository the session belongs to, whether it is still open,
and whether its branch carries an incomplete-step marker are all questions a
command asks between opening a session and publishing it.
Fields§
§session: SessionThe session itself.
identity: StringThe identity key the session belongs to.
lifecycle: LifecycleWhere the session is in its life.
provenance: ProvenanceWhat the session’s branch carries now — an adopted session that was left
dirty carries Provenance::IncompleteStep, and must pass the merge-path
merge path through onevcs recover before it may be published.
retried_by: Option<SessionToken>The session that continued this one’s branch, once one has.
A branch a run left behind is picked up by the next session over the same name, and this is the link between the two — written onto the older record when the newer one opens. It is the answer to “which of these two copies of one branch is the work”, which nothing else on either record gives, and everything that reports what became of a session or a branch follows it to the newest record before it answers.
Absent on every session nothing has superseded, which is most of them.
Trait Implementations§
Source§impl Clone for SessionRecord
impl Clone for SessionRecord
Source§impl Debug for SessionRecord
impl Debug for SessionRecord
Source§impl<'de> Deserialize<'de> for SessionRecord
impl<'de> Deserialize<'de> for SessionRecord
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 SessionRecord
Source§impl PartialEq for SessionRecord
impl PartialEq for SessionRecord
Source§impl Serialize for SessionRecord
impl Serialize for SessionRecord
impl StructuralPartialEq for SessionRecord
Auto Trait Implementations§
impl Freeze for SessionRecord
impl RefUnwindSafe for SessionRecord
impl Send for SessionRecord
impl Sync for SessionRecord
impl Unpin for SessionRecord
impl UnsafeUnpin for SessionRecord
impl UnwindSafe for SessionRecord
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.