pub struct Branch {
pub id: BranchId,
pub fork_point: NodeId,
pub head: NodeId,
pub status: BranchStatus,
pub parent_branch: Option<BranchId>,
pub child_branches: Vec<BranchId>,
pub nodes: Vec<NodeId>,
pub metadata: HashMap<String, String>,
pub created_at: i64,
pub updated_at: i64,
pub label: Option<String>,
}Expand description
A branch in the trajectory state machine.
Represents a linear path through the DAG from a fork point to a leaf (or to another fork point). Branches can be split off into independent state machines and later merged back.
Fields§
§id: BranchIdUnique identifier for this branch
fork_point: NodeIdWhere this branch diverged from its parent
head: NodeIdCurrent tip (head) of the branch
status: BranchStatusCurrent status of the branch
parent_branch: Option<BranchId>Parent branch (if this is a child branch)
child_branches: Vec<BranchId>Child branches that forked from this one
nodes: Vec<NodeId>Nodes that belong exclusively to this branch
metadata: HashMap<String, String>Metadata associated with this branch
created_at: i64Timestamp when branch was created
updated_at: i64Timestamp when branch was last updated
label: Option<String>Human-readable label (optional)
Implementations§
Source§impl Branch
impl Branch
Sourcepub fn mark_merged(&mut self)
pub fn mark_merged(&mut self)
Mark this branch as merged.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Branch
impl RefUnwindSafe for Branch
impl Send for Branch
impl Sync for Branch
impl Unpin for Branch
impl UnwindSafe for Branch
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.