pub struct GraphMutationFootprint {
pub graph: bool,
pub imports: BTreeSet<GraphId>,
pub symbols: BTreeSet<SymbolId>,
pub nodes: BTreeSet<NodeId>,
pub ports: BTreeSet<PortId>,
pub edges: BTreeSet<EdgeId>,
pub groups: BTreeSet<GroupId>,
pub sticky_notes: BTreeSet<StickyNoteId>,
pub bindings: BTreeSet<BindingId>,
}Expand description
Model ids touched by one graph mutation.
This is intentionally separate from graph storage. Hosts can use it to invalidate indexes, identify collaboration conflict/dependency boundaries, or derive more specific downstream work.
Fields§
§graph: boolThe graph document itself was touched.
imports: BTreeSet<GraphId>Import records or import references touched by the mutation.
symbols: BTreeSet<SymbolId>Symbol records touched by the mutation.
nodes: BTreeSet<NodeId>Node records or node references touched by the mutation.
ports: BTreeSet<PortId>Port records or port references touched by the mutation.
edges: BTreeSet<EdgeId>Edge records or edge references touched by the mutation.
groups: BTreeSet<GroupId>Group records or group references touched by the mutation.
sticky_notes: BTreeSet<StickyNoteId>Sticky note records or sticky note references touched by the mutation.
bindings: BTreeSet<BindingId>Binding records touched by the mutation.
Implementations§
Source§impl GraphMutationFootprint
impl GraphMutationFootprint
Sourcepub fn is_empty(&self) -> bool
pub fn is_empty(&self) -> bool
Returns true when this footprint does not touch any graph-local object.
Sourcepub fn touch_graph(&mut self)
pub fn touch_graph(&mut self)
Marks the whole graph document as touched.
Sourcepub fn touch_node(&mut self, id: NodeId)
pub fn touch_node(&mut self, id: NodeId)
Marks a node id as touched.
Sourcepub fn touch_port(&mut self, id: PortId)
pub fn touch_port(&mut self, id: PortId)
Marks a port id as touched.
Sourcepub fn touch_edge(&mut self, id: EdgeId)
pub fn touch_edge(&mut self, id: EdgeId)
Marks an edge id as touched.
Sourcepub fn touch_group(&mut self, id: GroupId)
pub fn touch_group(&mut self, id: GroupId)
Marks a group id as touched.
Sourcepub fn touch_sticky_note(&mut self, id: StickyNoteId)
pub fn touch_sticky_note(&mut self, id: StickyNoteId)
Marks a sticky note id as touched.
Sourcepub fn touch_binding(&mut self, id: BindingId)
pub fn touch_binding(&mut self, id: BindingId)
Marks a binding id as touched.
Sourcepub fn touch_import(&mut self, id: GraphId)
pub fn touch_import(&mut self, id: GraphId)
Marks an import id as touched.
Sourcepub fn touch_symbol(&mut self, id: SymbolId)
pub fn touch_symbol(&mut self, id: SymbolId)
Marks a symbol id as touched.
Sourcepub fn touch_node_snapshot(&mut self, id: NodeId, node: &Node)
pub fn touch_node_snapshot(&mut self, id: NodeId, node: &Node)
Marks ids referenced by a node snapshot.
Sourcepub fn touch_port_snapshot(&mut self, id: PortId, port: &Port)
pub fn touch_port_snapshot(&mut self, id: PortId, port: &Port)
Marks ids referenced by a port snapshot.
Sourcepub fn touch_edge_snapshot(&mut self, id: EdgeId, edge: &Edge)
pub fn touch_edge_snapshot(&mut self, id: EdgeId, edge: &Edge)
Marks ids referenced by an edge snapshot.
Sourcepub fn touch_edge_endpoints(&mut self, endpoints: EdgeEndpoints)
pub fn touch_edge_endpoints(&mut self, endpoints: EdgeEndpoints)
Marks ids referenced by edge endpoint ports.
Sourcepub fn touch_binding_snapshot(&mut self, id: BindingId, binding: &Binding)
pub fn touch_binding_snapshot(&mut self, id: BindingId, binding: &Binding)
Marks ids referenced by a binding snapshot.
Sourcepub fn touch_binding_endpoint(&mut self, endpoint: &BindingEndpoint)
pub fn touch_binding_endpoint(&mut self, endpoint: &BindingEndpoint)
Marks ids referenced by one binding endpoint.
Trait Implementations§
Source§impl Clone for GraphMutationFootprint
impl Clone for GraphMutationFootprint
Source§fn clone(&self) -> GraphMutationFootprint
fn clone(&self) -> GraphMutationFootprint
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for GraphMutationFootprint
impl Debug for GraphMutationFootprint
Source§impl Default for GraphMutationFootprint
impl Default for GraphMutationFootprint
Source§fn default() -> GraphMutationFootprint
fn default() -> GraphMutationFootprint
Source§impl<'de> Deserialize<'de> for GraphMutationFootprint
impl<'de> Deserialize<'de> for GraphMutationFootprint
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 GraphMutationFootprint
Source§impl PartialEq for GraphMutationFootprint
impl PartialEq for GraphMutationFootprint
Source§fn eq(&self, other: &GraphMutationFootprint) -> bool
fn eq(&self, other: &GraphMutationFootprint) -> bool
self and other values to be equal, and is used by ==.