pub struct MultiRootPublication {
pub version: u32,
pub revision: u64,
pub candidate: MultiRootMergeCandidate,
pub phase: MultiRootPublicationPhase,
pub published_roots: BTreeSet<WorkspaceRootId>,
pub published_generations: BTreeMap<WorkspaceRootId, GenerationId>,
pub fences: BTreeMap<WorkspaceRootId, MultiRootFence>,
pub conflicts: BTreeMap<WorkspaceRootId, MergePlan>,
pub projected_roots: BTreeMap<WorkspaceRootId, GenerationId>,
pub declared_conflicts: BTreeMap<WorkspaceRootId, BTreeSet<ConflictKey>>,
pub paused_root: Option<WorkspaceRootId>,
}Expand description
Complete recoverable cross-root publication record.
Fields§
§version: u32Serialization contract version.
revision: u64Monotonic optimistic-concurrency revision.
candidate: MultiRootMergeCandidateValidated unpublished candidate.
phase: MultiRootPublicationPhaseDurable decision/progress phase.
published_roots: BTreeSet<WorkspaceRootId>Roots known durable under the commit decision.
published_generations: BTreeMap<WorkspaceRootId, GenerationId>Exact durable generation produced for each published root.
fences: BTreeMap<WorkspaceRootId, MultiRootFence>Per-root reservations acquired before the commit decision.
conflicts: BTreeMap<WorkspaceRootId, MergePlan>Immutable typed conflicts pinned during validation.
projected_roots: BTreeMap<WorkspaceRootId, GenerationId>Parent generations containing the durable conflict projection.
declared_conflicts: BTreeMap<WorkspaceRootId, BTreeSet<ConflictKey>>Conflict keys explicitly accepted from the projected working copy.
paused_root: Option<WorkspaceRootId>Root that observed unexpected target state, if paused.
Trait Implementations§
Source§impl Clone for MultiRootPublication
impl Clone for MultiRootPublication
Source§impl Debug for MultiRootPublication
impl Debug for MultiRootPublication
Source§impl<'de> Deserialize<'de> for MultiRootPublication
impl<'de> Deserialize<'de> for MultiRootPublication
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>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for MultiRootPublication
Source§impl PartialEq for MultiRootPublication
impl PartialEq for MultiRootPublication
Source§impl Serialize for MultiRootPublication
impl Serialize for MultiRootPublication
impl StructuralPartialEq for MultiRootPublication
Auto Trait Implementations§
impl Freeze for MultiRootPublication
impl RefUnwindSafe for MultiRootPublication
impl Send for MultiRootPublication
impl Sync for MultiRootPublication
impl Unpin for MultiRootPublication
impl UnsafeUnpin for MultiRootPublication
impl UnwindSafe for MultiRootPublication
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<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§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
Compare self to
key and return true if they are equal.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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request