MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ ExecutionStrategy

enum class MayaFlux::Kriya::ExecutionStrategy : uint8_t
strong

Defines how operations in a pipeline are coordinated and executed.

Enumerator
PHASED 

PHASED: Traditional phased execution (default)

  • All CAPTURE operations complete first (capture phase)
  • Then all processing operations execute (process phase)
  • Best for: accumulation, windowed analysis, batch processing
  • Predictable data availability, clear phase boundaries
STREAMING 

STREAMING: Immediate flow-through execution.

  • Each capture iteration flows immediately through dependent operations
  • Minimal latency, data processed as it arrives
  • Best for: real-time effects, low-latency processing, modify_buffer chains
  • Natural for operations that modify state continuously
PARALLEL 

PARALLEL: Concurrent capture with synchronization.

  • Multiple capture operations can run concurrently
  • Explicit synchronization points coordinate data flow
  • Best for: multi-source capture, independent data streams
  • Requires CycleCoordinator for proper synchronization
REACTIVE 

REACTIVE: Data-driven reactive execution.

  • Operations execute when input data becomes available
  • Dynamic dependency resolution
  • Best for: event-driven workflows, complex dependencies
  • Non-deterministic execution order

Definition at line 27 of file BufferOperation.hpp.

27 : uint8_t {
28 /**
29 * PHASED: Traditional phased execution (default)
30 * - All CAPTURE operations complete first (capture phase)
31 * - Then all processing operations execute (process phase)
32 * - Best for: accumulation, windowed analysis, batch processing
33 * - Predictable data availability, clear phase boundaries
34 */
35 PHASED,
36
37 /**
38 * STREAMING: Immediate flow-through execution
39 * - Each capture iteration flows immediately through dependent operations
40 * - Minimal latency, data processed as it arrives
41 * - Best for: real-time effects, low-latency processing, modify_buffer chains
42 * - Natural for operations that modify state continuously
43 */
44 STREAMING,
45
46 /**
47 * PARALLEL: Concurrent capture with synchronization
48 * - Multiple capture operations can run concurrently
49 * - Explicit synchronization points coordinate data flow
50 * - Best for: multi-source capture, independent data streams
51 * - Requires CycleCoordinator for proper synchronization
52 */
53 PARALLEL,
54
55 /**
56 * REACTIVE: Data-driven reactive execution
57 * - Operations execute when input data becomes available
58 * - Dynamic dependency resolution
59 * - Best for: event-driven workflows, complex dependencies
60 * - Non-deterministic execution order
61 */
63 };
@ PHASED
PHASED: Traditional phased execution (default)
@ REACTIVE
REACTIVE: Data-driven reactive execution.