ifw-daq
3.0.0-pre2
IFW Data Acquisition modules
|
Namespaces | |
config | |
detail | |
merge | |
Classes | |
struct | Configuration |
Represents active configuration. More... | |
class | DpmService |
daqif::DpmControl and DpmDaqControl implementation. More... | |
class | DaqController |
Controller for specific DAQ. More... | |
struct | ConcurrencyLimits |
Imposes limits on how many concurrent operations are allowed. More... | |
struct | SchedulerOptions |
Options controlling scheduler operations. More... | |
struct | DaqControllerOptions |
Options for DaqController. More... | |
class | ResourceToken |
RAII token. More... | |
class | Resource |
struct | Resources |
Limited resources. More... | |
class | Scheduler |
Schedules asynchronous activities that results in merged Data Product and delivery. More... | |
class | SchedulerImpl |
class | DaqControllerImpl |
Internal data structure to SchedulerImpl. More... | |
class | DaqWorkspace |
Interface to DAQ workpace (TBD). More... | |
class | Workspace |
Interface to interact with DPM workspace. More... | |
class | WorkspaceImpl |
Implementation of daq::dpm::Workspace. More... | |
class | DaqWorkspaceImpl |
struct | MockScheduler |
struct | MockDaqController |
struct | MockWorkspace |
struct | MockDaqWorkspace |
struct | FakeRsyncFactory |
struct | FakeProcFactory |
class | TestDaqControllerBase |
class | TestDaqControllerInit |
class | TestDaqController |
class | TestDpmService |
struct | FakeDaqControllerFactory |
class | TestSchedulerBase |
class | TestSchedulerInit |
class | TestScheduler |
class | KeywordEx |
Create keyword expression that memoize the provided string pattern. More... | |
class | KeywordRuleProcessor |
Interface for keyword rule processors. More... | |
class | StandardKeywordRuleProcessor |
class | SourceNotFound |
class | SourceResolver |
Provides location of fits source file. More... | |
class | TestKeywordMatchP |
class | TestKeywordMatch |
class | TestKeywordTransform |
class | ConfigManager |
DPM Server specific configuration manager. More... | |
Functions | |
std::ostream & | operator<< (std::ostream &os, DaqController const &daq) |
TEST_F (TestDaqController, ScheduledTransitionsToTransferring) | |
TEST_F (TestDaqController, TransferringWithoutFilesTransitionsToMerging) | |
TEST_F (TestDaqController, TransferringStartsTransfersAndWhenCompletedTransitionsToMerging) | |
TEST_F (TestDaqController, TransferringFailsDoesNotTransition) | |
TEST_F (TestDaqController, RecoverAutomaticallyFromTransferringIfFilesExist) | |
[recovery] If transfer previously failed and then stopped this should be automatically recoverable if DAQ is started again and requested files are available on FS. More... | |
TEST_F (TestDaqController, MergingSuccessful) | |
TEST_F (TestDaqController, RecoverAutomaticallyFromMergeFailureIfResultExists) | |
[recovery] More... | |
TEST_F (TestDpmService, QueryStorageStatusSuceeds) | |
TEST_F (TestDpmService, QueryStorageStatusFails) | |
TEST_F (TestDpmService, QueueDaqSucceeds) | |
TEST_F (TestDpmService, QueueDaqThrows) | |
TEST_F (TestDpmService, AbortDaqSucceeds) | |
TEST_F (TestDpmService, AbortDaqThrows) | |
TEST_F (TestDpmService, GetDaqStatusSucceeds) | |
TEST_F (TestDpmService, GetDaqStatusThrows) | |
TEST_F (TestDpmService, GetActiveDaqsSucceeds) | |
TEST_F (TestDpmService, GetActiveDaqsThrowws) | |
TEST_F (TestSchedulerInit, Construction) | |
TEST_F (TestScheduler, QueueDaqIsSuccessful) | |
TEST_F (TestScheduler, QueueDaqRollbackIfStoreQueueFails) | |
TEST_F (TestScheduler, QueueDaqRollbackIfStoreSpecificationFails) | |
TEST_F (TestScheduler, QueueDaqRollbackIfInitializeDaqWorkspaceFails) | |
TEST_F (TestScheduler, QueueDaqFailsIfParseDpFails) | |
TEST_F (TestScheduler, PollActivatesDaqWhichStartsTransfer) | |
TEST_F (TestScheduler, PollCompletesDaq) | |
TEST_F (TestScheduler, AbortDaqSucceedsIfNotActive) | |
TEST_F (TestScheduler, AbortDaqSucceedsIfActive) | |
TEST_F (TestScheduler, AbortDaqFailsIfDaqDoesNotExit) | |
TEST_F (TestScheduler, GetStatusSucceeds) | |
bool | KeywordMatch (fits::KeywordVariant const &keyword, KeywordEx const &ex) |
fits::KeywordVariant | KeywordTransform (fits::KeywordVariant const &keyword, std::regex const &re, char const *fmt) |
Transforms keyword name using regex. More... | |
fits::ValueKeyword | KeywordTransform (fits::ValueKeyword const &keyword, std::regex const &re, char const *fmt) |
fits::EsoKeyword | KeywordTransform (fits::EsoKeyword const &keyword, std::regex const &re, char const *fmt) |
fits::LiteralKeyword | KeywordTransform (fits::LiteralKeyword const &keyword, std::regex const &re, char const *fmt) |
template<class InputIt , class OutputIt > | |
constexpr OutputIt | Filter (InputIt first, InputIt last, OutputIt d_first, KeywordEx const &filter_ex) |
template<class InputIt , class OutputIt > | |
OutputIt | Transform (InputIt first, InputIt last, OutputIt d_first, KeywordEx const &filter_ex, std::regex const ®ex, char const *fmt) |
void | to_json (nlohmann::json &j, SourceResolver::Mapping const &p) |
void | from_json (nlohmann::json const &j, SourceResolver::Mapping &p) |
std::ostream & | operator<< (std::ostream &os, SourceResolver::SourceFile const &source) |
TEST (TestParseEx, FailsIfOperatorIsInvalid) | |
TEST (TestParseEx, FailsIfScopeIsInValid) | |
TEST (TestParseEx, FailsIfWhitespaceIsMssing) | |
TEST (TestParseEx, FailsIfPatternIsMissing) | |
TEST (TestParseEx, IncludeEsoKw) | |
TEST (TestParseEx, ExcludeEsoKw) | |
TEST (TestParseEx, IncludeValueKw) | |
TEST (TestParseEx, IncludeCommentaryKw) | |
TEST (TestParseEx, IncludeAnyKw) | |
TEST (TestKeywordEx, Constructors) | |
TEST_P (TestKeywordMatchP, EmptyPatternDoesntMatch) | |
TEST_P (TestKeywordMatchP, MatchAnyWithSingle) | |
TEST_P (TestKeywordMatchP, MatchAnyWithMultiple) | |
INSTANTIATE_TEST_SUITE_P (Test, TestKeywordMatchP, testing::Values(fits::EsoKeyword("VALUE", "value"), fits::ValueKeyword("VALUE", 0.0), fits::LiteralKeyword("VALUE = 'tgt' / comment"), fits::LiteralKeyword("VALUE Comment"))) | |
TEST_F (TestKeywordMatch, EsoSimpleInclusivePattern) | |
TEST_F (TestKeywordMatch, ValueSimpleInclusivePattern) | |
TEST_F (TestKeywordMatch, LiteralSimpleInclusivePattern) | |
TEST_F (TestKeywordMatch, CommentarySimpleInclusivePattern) | |
TEST_F (TestKeywordMatch, SimpleExclusivePattern) | |
TEST_F (TestKeywordMatch, EsoInclusiveExclusivePattern) | |
TEST_F (TestKeywordTransform, EsoKeyword) | |
TEST_F (TestKeywordTransform, InvalidEsoKeyword) | |
TEST_F (TestKeywordTransform, ValueKeyword) | |
TEST_F (TestKeywordTransform, InvalidValueKeyword) | |
TEST_F (TestKeywordTransform, LiteralKeyword) | |
int | Entrypoint (log4cplus::Logger const &logger, ConfigManager &cfg_mgr) |
Variables | |
const std::string | LOGGER_NAME = "daq.dpm" |
const std::string | LOGGER_NAME_SCHEDULER = "daq.dpm.scheduler" |
const std::string | LOGGER_NAME_CONTROLLER = "daq.dpm.controller" |
const std::string | LOGGER_NAME_TRANSFER = "daq.dpm.transfer" |
const std::string | LOGGER_NAME_MERGER = "daq.dpm.merger" |
struct daq::dpm::Configuration |
Represents active configuration.
Configuration may come from various origins. This is managed by dpm::ConfigManager.
Definition at line 33 of file config.hpp.
Class Members | ||
---|---|---|
path | config_file |
Configuration file. If it's a relative path it should be resolved against |
path | dataroot | Dataroot, normally this should be configured from environment variable $DATAROOT. |
string | db_prefix | |
seconds | db_timeout | |
uint16_t | limit_daq | |
uint16_t | limit_merge | |
uint16_t | limit_net_receive | |
uint16_t | limit_net_send | |
string | log_config | Log file, defaults to nothing. |
LogLevel | log_level | |
string | merge_bin | Merge application name. |
string | name | Process instance name. |
bool | no_ipc | If true (set by command line option only) it disables MAL service registration. |
bool | poll_once | Run scheduler once. |
string | ps_uri | Pub/sub URI. |
string | rr_uri | Request/reply URI. |
string | rsync_bin | rsync application name. |
path | workspace |
Workspace. If it's a relative path it should be resolved against |
struct daq::dpm::ConcurrencyLimits |
Imposes limits on how many concurrent operations are allowed.
Definition at line 105 of file scheduler.hpp.
struct daq::dpm::SchedulerOptions |
Options controlling scheduler operations.
Limits with value 0
is unlimited.
Definition at line 132 of file scheduler.hpp.
Class Members | ||
---|---|---|
struct ConcurrencyLimits | concurrency_limits |
struct daq::dpm::DaqControllerOptions |
Options for DaqController.
Definition at line 162 of file scheduler.hpp.
Class Members | ||
---|---|---|
string | merge_bin | |
string | rsync_bin |
struct daq::dpm::Resources |
int daq::dpm::Entrypoint | ( | log4cplus::Logger const & | logger, |
ConfigManager & | cfg_mgr | ||
) |
|
constexpr |
Definition at line 58 of file keywordRule.hpp.
void daq::dpm::from_json | ( | nlohmann::json const & | j, |
SourceResolver::Mapping & | p | ||
) |
Definition at line 63 of file sourceResolver.cpp.
daq::dpm::INSTANTIATE_TEST_SUITE_P | ( | Test | , |
TestKeywordMatchP | , | ||
testing::Values(fits::EsoKeyword("VALUE", "value"), fits::ValueKeyword("VALUE", 0.0), fits::LiteralKeyword("VALUE = 'tgt' / comment"), fits::LiteralKeyword("VALUE Comment")) | |||
) |
bool daq::dpm::KeywordMatch | ( | fits::KeywordVariant const & | keyword, |
KeywordEx const & | ex | ||
) |
Iterator | An iterator type to a type that can be converted to a std::string_view, such as char const**, std::vector<std::string>::const_iterator, std::list<std::string_view>::const_iterator. |
Definition at line 150 of file keywordEx.cpp.
fits::EsoKeyword daq::dpm::KeywordTransform | ( | fits::EsoKeyword const & | keyword, |
std::regex const & | re, | ||
char const * | fmt | ||
) |
Definition at line 182 of file keywordEx.cpp.
fits::KeywordVariant daq::dpm::KeywordTransform | ( | fits::KeywordVariant const & | keyword, |
std::regex const & | re, | ||
char const * | fmt | ||
) |
Transforms keyword name using regex.
Definition at line 164 of file keywordEx.cpp.
fits::LiteralKeyword daq::dpm::KeywordTransform | ( | fits::LiteralKeyword const & | keyword, |
std::regex const & | re, | ||
char const * | fmt | ||
) |
Definition at line 193 of file keywordEx.cpp.
fits::ValueKeyword daq::dpm::KeywordTransform | ( | fits::ValueKeyword const & | keyword, |
std::regex const & | re, | ||
char const * | fmt | ||
) |
Definition at line 171 of file keywordEx.cpp.
std::ostream & daq::dpm::operator<< | ( | std::ostream & | os, |
DaqController const & | daq | ||
) |
Definition at line 59 of file scheduler.cpp.
std::ostream& daq::dpm::operator<< | ( | std::ostream & | os, |
SourceResolver::SourceFile const & | source | ||
) |
Definition at line 17 of file sourceResolver.cpp.
daq::dpm::TEST | ( | TestKeywordEx | , |
Constructors | |||
) |
Definition at line 99 of file testKeywordEx.cpp.
daq::dpm::TEST | ( | TestParseEx | , |
ExcludeEsoKw | |||
) |
Definition at line 59 of file testKeywordEx.cpp.
daq::dpm::TEST | ( | TestParseEx | , |
FailsIfOperatorIsInvalid | |||
) |
Definition at line 18 of file testKeywordEx.cpp.
daq::dpm::TEST | ( | TestParseEx | , |
FailsIfPatternIsMissing | |||
) |
Definition at line 42 of file testKeywordEx.cpp.
daq::dpm::TEST | ( | TestParseEx | , |
FailsIfScopeIsInValid | |||
) |
Definition at line 26 of file testKeywordEx.cpp.
daq::dpm::TEST | ( | TestParseEx | , |
FailsIfWhitespaceIsMssing | |||
) |
Definition at line 35 of file testKeywordEx.cpp.
daq::dpm::TEST | ( | TestParseEx | , |
IncludeAnyKw | |||
) |
Definition at line 89 of file testKeywordEx.cpp.
daq::dpm::TEST | ( | TestParseEx | , |
IncludeCommentaryKw | |||
) |
Definition at line 79 of file testKeywordEx.cpp.
daq::dpm::TEST | ( | TestParseEx | , |
IncludeEsoKw | |||
) |
Definition at line 49 of file testKeywordEx.cpp.
daq::dpm::TEST | ( | TestParseEx | , |
IncludeValueKw | |||
) |
Definition at line 69 of file testKeywordEx.cpp.
daq::dpm::TEST_F | ( | TestDaqController | , |
MergingSuccessful | |||
) |
Definition at line 300 of file testDaqController.cpp.
daq::dpm::TEST_F | ( | TestDaqController | , |
RecoverAutomaticallyFromMergeFailureIfResultExists | |||
) |
[recovery]
Definition at line 351 of file testDaqController.cpp.
daq::dpm::TEST_F | ( | TestDaqController | , |
RecoverAutomaticallyFromTransferringIfFilesExist | |||
) |
[recovery] If transfer previously failed and then stopped this should be automatically recoverable if DAQ is started again and requested files are available on FS.
Definition at line 282 of file testDaqController.cpp.
daq::dpm::TEST_F | ( | TestDaqController | , |
ScheduledTransitionsToTransferring | |||
) |
Definition at line 175 of file testDaqController.cpp.
daq::dpm::TEST_F | ( | TestDaqController | , |
TransferringFailsDoesNotTransition | |||
) |
Definition at line 239 of file testDaqController.cpp.
daq::dpm::TEST_F | ( | TestDaqController | , |
TransferringStartsTransfersAndWhenCompletedTransitionsToMerging | |||
) |
Definition at line 202 of file testDaqController.cpp.
daq::dpm::TEST_F | ( | TestDaqController | , |
TransferringWithoutFilesTransitionsToMerging | |||
) |
Definition at line 187 of file testDaqController.cpp.
daq::dpm::TEST_F | ( | TestDpmService | , |
AbortDaqSucceeds | |||
) |
Definition at line 121 of file testDpmService.cpp.
daq::dpm::TEST_F | ( | TestDpmService | , |
AbortDaqThrows | |||
) |
Definition at line 139 of file testDpmService.cpp.
daq::dpm::TEST_F | ( | TestDpmService | , |
GetActiveDaqsSucceeds | |||
) |
Definition at line 188 of file testDpmService.cpp.
daq::dpm::TEST_F | ( | TestDpmService | , |
GetActiveDaqsThrowws | |||
) |
Definition at line 229 of file testDpmService.cpp.
daq::dpm::TEST_F | ( | TestDpmService | , |
GetDaqStatusSucceeds | |||
) |
Definition at line 151 of file testDpmService.cpp.
daq::dpm::TEST_F | ( | TestDpmService | , |
GetDaqStatusThrows | |||
) |
Definition at line 175 of file testDpmService.cpp.
daq::dpm::TEST_F | ( | TestDpmService | , |
QueryStorageStatusFails | |||
) |
Definition at line 80 of file testDpmService.cpp.
daq::dpm::TEST_F | ( | TestDpmService | , |
QueryStorageStatusSuceeds | |||
) |
Definition at line 55 of file testDpmService.cpp.
daq::dpm::TEST_F | ( | TestDpmService | , |
QueueDaqSucceeds | |||
) |
Definition at line 92 of file testDpmService.cpp.
daq::dpm::TEST_F | ( | TestDpmService | , |
QueueDaqThrows | |||
) |
Definition at line 109 of file testDpmService.cpp.
daq::dpm::TEST_F | ( | TestKeywordMatch | , |
CommentarySimpleInclusivePattern | |||
) |
Definition at line 166 of file testKeywordEx.cpp.
daq::dpm::TEST_F | ( | TestKeywordMatch | , |
EsoInclusiveExclusivePattern | |||
) |
Definition at line 191 of file testKeywordEx.cpp.
daq::dpm::TEST_F | ( | TestKeywordMatch | , |
EsoSimpleInclusivePattern | |||
) |
Definition at line 127 of file testKeywordEx.cpp.
daq::dpm::TEST_F | ( | TestKeywordMatch | , |
LiteralSimpleInclusivePattern | |||
) |
Definition at line 153 of file testKeywordEx.cpp.
daq::dpm::TEST_F | ( | TestKeywordMatch | , |
SimpleExclusivePattern | |||
) |
Definition at line 179 of file testKeywordEx.cpp.
daq::dpm::TEST_F | ( | TestKeywordMatch | , |
ValueSimpleInclusivePattern | |||
) |
Definition at line 140 of file testKeywordEx.cpp.
daq::dpm::TEST_F | ( | TestKeywordTransform | , |
EsoKeyword | |||
) |
Definition at line 200 of file testKeywordEx.cpp.
daq::dpm::TEST_F | ( | TestKeywordTransform | , |
InvalidEsoKeyword | |||
) |
Definition at line 208 of file testKeywordEx.cpp.
daq::dpm::TEST_F | ( | TestKeywordTransform | , |
InvalidValueKeyword | |||
) |
Definition at line 222 of file testKeywordEx.cpp.
daq::dpm::TEST_F | ( | TestKeywordTransform | , |
LiteralKeyword | |||
) |
Definition at line 229 of file testKeywordEx.cpp.
daq::dpm::TEST_F | ( | TestKeywordTransform | , |
ValueKeyword | |||
) |
Definition at line 214 of file testKeywordEx.cpp.
daq::dpm::TEST_F | ( | TestScheduler | , |
AbortDaqFailsIfDaqDoesNotExit | |||
) |
Definition at line 367 of file testScheduler.cpp.
daq::dpm::TEST_F | ( | TestScheduler | , |
AbortDaqSucceedsIfActive | |||
) |
Definition at line 333 of file testScheduler.cpp.
daq::dpm::TEST_F | ( | TestScheduler | , |
AbortDaqSucceedsIfNotActive | |||
) |
Definition at line 309 of file testScheduler.cpp.
daq::dpm::TEST_F | ( | TestScheduler | , |
GetStatusSucceeds | |||
) |
Definition at line 375 of file testScheduler.cpp.
daq::dpm::TEST_F | ( | TestScheduler | , |
PollActivatesDaqWhichStartsTransfer | |||
) |
Definition at line 236 of file testScheduler.cpp.
daq::dpm::TEST_F | ( | TestScheduler | , |
PollCompletesDaq | |||
) |
Definition at line 274 of file testScheduler.cpp.
daq::dpm::TEST_F | ( | TestScheduler | , |
QueueDaqFailsIfParseDpFails | |||
) |
Definition at line 222 of file testScheduler.cpp.
daq::dpm::TEST_F | ( | TestScheduler | , |
QueueDaqIsSuccessful | |||
) |
Definition at line 117 of file testScheduler.cpp.
daq::dpm::TEST_F | ( | TestScheduler | , |
QueueDaqRollbackIfInitializeDaqWorkspaceFails | |||
) |
Definition at line 203 of file testScheduler.cpp.
daq::dpm::TEST_F | ( | TestScheduler | , |
QueueDaqRollbackIfStoreQueueFails | |||
) |
Definition at line 142 of file testScheduler.cpp.
daq::dpm::TEST_F | ( | TestScheduler | , |
QueueDaqRollbackIfStoreSpecificationFails | |||
) |
Definition at line 173 of file testScheduler.cpp.
daq::dpm::TEST_F | ( | TestSchedulerInit | , |
Construction | |||
) |
Definition at line 111 of file testScheduler.cpp.
daq::dpm::TEST_P | ( | TestKeywordMatchP | , |
EmptyPatternDoesntMatch | |||
) |
Definition at line 107 of file testKeywordEx.cpp.
daq::dpm::TEST_P | ( | TestKeywordMatchP | , |
MatchAnyWithMultiple | |||
) |
Definition at line 115 of file testKeywordEx.cpp.
daq::dpm::TEST_P | ( | TestKeywordMatchP | , |
MatchAnyWithSingle | |||
) |
Definition at line 111 of file testKeywordEx.cpp.
void daq::dpm::to_json | ( | nlohmann::json & | j, |
SourceResolver::Mapping const & | p | ||
) |
Definition at line 53 of file sourceResolver.cpp.
OutputIt daq::dpm::Transform | ( | InputIt | first, |
InputIt | last, | ||
OutputIt | d_first, | ||
KeywordEx const & | filter_ex, | ||
std::regex const & | regex, | ||
char const * | fmt | ||
) |
Definition at line 64 of file keywordRule.hpp.
const std::string daq::dpm::LOGGER_NAME = "daq.dpm" |
Definition at line 22 of file config.hpp.
const std::string daq::dpm::LOGGER_NAME_CONTROLLER = "daq.dpm.controller" |
Definition at line 24 of file config.hpp.
const std::string daq::dpm::LOGGER_NAME_MERGER = "daq.dpm.merger" |
Definition at line 26 of file config.hpp.
const std::string daq::dpm::LOGGER_NAME_SCHEDULER = "daq.dpm.scheduler" |
Definition at line 23 of file config.hpp.
const std::string daq::dpm::LOGGER_NAME_TRANSFER = "daq.dpm.transfer" |
Definition at line 25 of file config.hpp.