MayaFlux 0.3.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 31 of file BufferOperation.hpp.

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