EntropyEngine::Core::Concurrency::WorkGraphConfig
EntropyEngine::Core::Concurrency::WorkGraphConfig
Section titled “EntropyEngine::Core::Concurrency::WorkGraphConfig”Configuration parameters and feature toggles for WorkGraph instances. More…
#include <WorkGraphTypes.h>
Public Attributes
Section titled “Public Attributes”| Name | |
|---|---|
| std::shared_ptr< Core::EventBus > | sharedEventBus Use shared event bus instead of creating own - for system-wide event correlation. |
| std::function< void(void *)> | nodeDeallocator |
| std::function< void *(size_t)> | nodeAllocator Custom allocator for node storage - integrate with your memory system. |
| size_t | maxDeferredProcessingIterations Maximum iterations when processing deferred nodes - controls how aggressively we fill capacity Higher values ensure more aggressive filling of available capacity. |
| size_t | maxDeferredNodes Maximum deferred queue size (0 = unlimited) - prevents unbounded memory growth. |
| size_t | expectedNodeCount Expected number of nodes (for pre-allocation) - avoids reallocation during execution. |
| bool | enableStateManager Enable advanced state management - for complex workflows with state machines. |
| bool | enableEvents Enable event bus for this graph - enables monitoring. |
| bool | enableDebugRegistration Enable debug registration - makes graph visible in debug tools. |
| bool | enableDebugLogging Enable debug logging - verbose output for troubleshooting. |
| bool | enableAdvancedScheduling Enable advanced scheduling features - priority queues, affinity, etc. |
Detailed Description
Section titled “Detailed Description”struct EntropyEngine::Core::Concurrency::WorkGraphConfig;Configuration parameters and feature toggles for WorkGraph instances.
WorkGraph supports various complexity levels from minimal to feature-rich configurations. This structure provides control over optional features and tuning parameters. Default values provide a lightweight graph configuration.
The configuration allows customization of graph behavior through feature enablement, tuning, and resource management options to match specific use case requirements.
// Minimal config for simplified setupWorkGraphConfig fastConfig;fastConfig.expectedNodeCount = 1000; // Pre-allocate storage
// Rich config for debugging and monitoringWorkGraphConfig debugConfig;debugConfig.enableEvents = true;debugConfig.enableDebugLogging = true;debugConfig.enableDebugRegistration = true;
// Custom memory managementWorkGraphConfig customConfig;customConfig.nodeAllocator = myPoolAllocator;customConfig.nodeDeallocator = myPoolDeallocator;Public Attributes Documentation
Section titled “Public Attributes Documentation”variable sharedEventBus
Section titled “variable sharedEventBus”std::shared_ptr< Core::EventBus > sharedEventBus = nullptr;Use shared event bus instead of creating own - for system-wide event correlation.
variable nodeDeallocator
Section titled “variable nodeDeallocator”std::function< void(void *)> nodeDeallocator = nullptr;variable nodeAllocator
Section titled “variable nodeAllocator”std::function< void *(size_t)> nodeAllocator = nullptr;Custom allocator for node storage - integrate with your memory system.
variable maxDeferredProcessingIterations
Section titled “variable maxDeferredProcessingIterations”size_t maxDeferredProcessingIterations = 10;Maximum iterations when processing deferred nodes - controls how aggressively we fill capacity Higher values ensure more aggressive filling of available capacity.
variable maxDeferredNodes
Section titled “variable maxDeferredNodes”size_t maxDeferredNodes = 0;Maximum deferred queue size (0 = unlimited) - prevents unbounded memory growth.
variable expectedNodeCount
Section titled “variable expectedNodeCount”size_t expectedNodeCount = 16;Expected number of nodes (for pre-allocation) - avoids reallocation during execution.
variable enableStateManager
Section titled “variable enableStateManager”bool enableStateManager = false;Enable advanced state management - for complex workflows with state machines.
variable enableEvents
Section titled “variable enableEvents”bool enableEvents = false;Enable event bus for this graph - enables monitoring.
variable enableDebugRegistration
Section titled “variable enableDebugRegistration”bool enableDebugRegistration = false;Enable debug registration - makes graph visible in debug tools.
variable enableDebugLogging
Section titled “variable enableDebugLogging”bool enableDebugLogging = false;Enable debug logging - verbose output for troubleshooting.
variable enableAdvancedScheduling
Section titled “variable enableAdvancedScheduling”bool enableAdvancedScheduling = false;Enable advanced scheduling features - priority queues, affinity, etc.
Updated on 2026-01-26 at 17:14:35 -0500