Module node

Source
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 access

Structs§

Node
A clonable, concurrency-aware handle to a single workflow