Expand description
Workflow node management with lazy loading and thread-safe access
This module provides the Node struct, which represents a clonable handle to a workflow
with lazy loading semantics and concurrency-aware access patterns.
§Overview
The Node struct provides an efficient way to manage workflow access in concurrent
environments. It implements lazy loading, where workflows are only loaded from disk
when first accessed, and uses atomic reference counting for efficient cloning.
§Concurrency Model
Node is designed for concurrent access:
- Read access: Multiple threads can concurrently read the workflow
- Write access: Mutation requires external coordination through the lock manager
- Lazy loading: Thread-safe transitions from unloaded to loaded state
§Examples
let reference = Reference::new("example");
let node = Node::new(reference);
// Node is created in unloaded state
// Workflow loading happens lazily on first accessStructs§
- Node
- A clonable, concurrency-aware handle to a single workflow