MayaFlux
0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
ExecutionContext.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <typeindex>
4
5
namespace
MayaFlux::Yantra
{
6
7
/**
8
* @enum OperationType
9
* @brief Operation categories for organization and discovery
10
*/
11
enum class
OperationType
: uint8_t {
12
ANALYZER
,
13
SORTER
,
14
EXTRACTOR
,
15
TRANSFORMER
,
16
CUSTOM
17
};
18
19
/**
20
* @enum ExecutionMode
21
* @brief Execution paradigms for operations
22
*/
23
enum class
ExecutionMode
: uint8_t {
24
SYNC
,
///< Synchronous execution
25
ASYNC
,
///< Asynchronous execution
26
PARALLEL
,
///< Parallel with other operations
27
CHAINED
,
///< Part of a sequential chain
28
DEPENDENCY
///< Part of dependency graph
29
};
30
31
/**
32
* @brief Callback type for pre/post operation hooks
33
*/
34
using
OpererationHookCallback
= std::function<void(std::any&)>;
35
36
/**
37
* @brief Callback type for custom reconstruction logic
38
*/
39
using
ReconstructionCallback
= std::function<std::any(std::vector<std::vector<double>>&, std::any&)>;
40
41
/**
42
* @struct ExecutionContext
43
* @brief Context information for operation execution
44
*/
45
struct
MAYAFLUX_API
ExecutionContext
{
46
ExecutionMode
mode = ExecutionMode::SYNC;
47
std::shared_ptr<std::thread> thread_pool =
nullptr
;
48
std::vector<std::type_index>
dependencies
;
49
std::chrono::milliseconds timeout { 0 };
50
std::unordered_map<std::string, std::any>
execution_metadata
;
51
52
OpererationHookCallback
pre_execution_hook =
nullptr
;
53
OpererationHookCallback
post_execution_hook =
nullptr
;
54
ReconstructionCallback
reconstruction_callback =
nullptr
;
55
};
56
57
}
MayaFlux::Yantra::AnalysisType::CUSTOM
@ CUSTOM
User-defined analysis types.
MayaFlux::Yantra::OpererationHookCallback
std::function< void(std::any &)> OpererationHookCallback
Callback type for pre/post operation hooks.
Definition
ExecutionContext.hpp:34
MayaFlux::Yantra::OperationType
OperationType
Operation categories for organization and discovery.
Definition
ExecutionContext.hpp:11
MayaFlux::Yantra::OperationType::EXTRACTOR
@ EXTRACTOR
MayaFlux::Yantra::OperationType::ANALYZER
@ ANALYZER
MayaFlux::Yantra::OperationType::SORTER
@ SORTER
MayaFlux::Yantra::OperationType::TRANSFORMER
@ TRANSFORMER
MayaFlux::Yantra::ExecutionMode
ExecutionMode
Execution paradigms for operations.
Definition
ExecutionContext.hpp:23
MayaFlux::Yantra::ExecutionMode::SYNC
@ SYNC
Synchronous execution.
MayaFlux::Yantra::ExecutionMode::CHAINED
@ CHAINED
Part of a sequential chain.
MayaFlux::Yantra::ExecutionMode::DEPENDENCY
@ DEPENDENCY
Part of dependency graph.
MayaFlux::Yantra::ExecutionMode::ASYNC
@ ASYNC
Asynchronous execution.
MayaFlux::Yantra::ExecutionMode::PARALLEL
@ PARALLEL
Parallel with other operations.
MayaFlux::Yantra::ReconstructionCallback
std::function< std::any(std::vector< std::vector< double > > &, std::any &)> ReconstructionCallback
Callback type for custom reconstruction logic.
Definition
ExecutionContext.hpp:39
MayaFlux::Yantra
Definition
ComputeRegistry.hpp:5
MayaFlux::Yantra::ExecutionContext::dependencies
std::vector< std::type_index > dependencies
Definition
ExecutionContext.hpp:48
MayaFlux::Yantra::ExecutionContext::execution_metadata
std::unordered_map< std::string, std::any > execution_metadata
Definition
ExecutionContext.hpp:50
MayaFlux::Yantra::ExecutionContext
Context information for operation execution.
Definition
ExecutionContext.hpp:45
src
MayaFlux
Yantra
OperationSpec
ExecutionContext.hpp
Generated by
1.9.8