ifw-daq 3.1.0
IFW Data Acquisition modules
Loading...
Searching...
No Matches
Namespaces | Classes | Typedefs | Enumerations | Functions
daq Namespace Reference

Namespaces

namespace  alert
 
namespace  config
 
namespace  dpm
 
namespace  error
 
namespace  fits
 
namespace  json
 
namespace  op
 
namespace  test
 
namespace  v1
 
namespace  v2
 

Classes

struct  ActionEvent
 Event related to an action being requested or performed. More...
 
struct  Alert
 Describes an active Data Acquisition alert. More...
 
struct  AlertId
 Uniquely identfies an alert. More...
 
class  AsyncProcess
 Represents a subprocess as an asynchronous operation. More...
 
class  AsyncProcessIf
 Interface to asynchronous process. More...
 
class  CommonDaqController
 Implements common behaviour of OcmDaqController and DpmDaqController. More...
 
struct  DaqContext
 Structure carrying context needed to start a Data Acquisition and construct a Data Product Specification needed to execute merge. More...
 
class  DaqController
 Controls the execution of single data acquisition that ultimately result in a set of FITS keywords and/or FITS files. More...
 
class  DaqControllerFactory
 Abstract factory for DaqControllers. More...
 
class  DaqControllerFactoryDefault
 Default factory producing "real" implementations. More...
 
struct  DaqControllerFactoryFake
 Factory that creates mock versions. More...
 
struct  DaqControllerMock
 Mock version of daq::DaqController. More...
 
class  DaqOperationAborted
 Started operation was aborted. More...
 
class  DaqOperationTimeout
 Started operation timed out. More...
 
struct  DaqReplyMock
 
class  DaqSourceError
 Represents error in single source. More...
 
class  DaqSourceErrors
 Exception thrown to carry reply errors. More...
 
class  DaqSources
 Data acquisition sources. More...
 
struct  DaqStatusFake
 
struct  DaqStatusMock
 
struct  DaqStopReplyMock
 
class  DictKeywordFormatter
 Format (and validate) keyword according to loaded dictionary. More...
 
class  DpmClient
 Interface to DPM server. More...
 
class  DpmClientImpl
 
class  DpmClientMock
 Combined mock and fake of interface to DPM server. More...
 
struct  DpmClientParams
 Connection parameters for DPM. More...
 
struct  DpmDaqControlAsyncMock
 
class  DpmDaqController
 Implements behaviour from the state NotScheduled to Completed. More...
 
class  DpPart
 Provides information of the location and source of a FITS file or keywords produced by a data acquisition. More...
 
struct  ErrorEvent
 
struct  EventLog
 Represents a collection of events. More...
 
class  EventLogObserverLogger
 A simple daq::ObservableEventLog observer that logs observed events to provided logger. More...
 
struct  GenericEvent
 Represents a generic event if a more specific event is not usable. More...
 
struct  InvalidDaqId
 Exception indicating the DAQ id was invalid. More...
 
struct  JsonObject
 
struct  JsonObject< E, bool >
 
struct  JsonObject< E, double >
 
struct  JsonObject< E, std::string >
 
struct  KeywordFormatterMock
 
class  LogCaptureLast
 Logs output to logger and keeps last N lines in circular buffer for later retrival. More...
 
struct  LogLevel
 ly typed log4cplus::LogLevel (which is an alias to int) More...
 
struct  MakeDpSpecV1
 
struct  MakeDpSpecV2
 
class  Manager
 Manager owns DaqController and FitsController (active data acquisitions) instances and multiplexes requests to them. More...
 
class  ManagerImpl
 Implements daq::Manager. More...
 
struct  ManagerParams
 Configurations parameters directly related to manager. More...
 
struct  MetaDaqAsyncMock
 
class  MetaSource
 Keeps relevant state to be able to communicate with a primary data source. More...
 
struct  MockAsyncProcess
 Combined fake/mock. More...
 
struct  MockRsyncAsyncProcess
 
struct  MockWorkspace
 
class  ObservableEventLog
 Stores data acquisition status and allows subscription to status changes. More...
 
class  ObservableStatus
 Stores data acquisition status and allows subscription to status changes. More...
 
struct  OcmAsyncOperations
 OCM Async operations. More...
 
class  OcmDaqController
 Implements daq::DaqController for states responsible to be executed by OCM. More...
 
class  PendingReplies
 Simple class that allows you to keep track of how many replies are pending. More...
 
class  PrimSource
 Keeps relevant state to be able to communicate with a primary data source. More...
 
struct  PutTimeStruct
 
struct  RecCmdsAsyncMock
 
struct  ReceiverStatus
 Persistent status for receiver delivery. More...
 
struct  RecStatusMock
 
class  ReplyToken
 Token representing a not-yet-received reply. More...
 
class  Resource
 
class  ResourceToken
 RAII token. More...
 
struct  Result
 Utility class that represents a result and an error. More...
 
struct  Result< void >
 
class  RsyncAsyncProcess
 Represents an rsync process as an asynchronous operation. More...
 
class  RsyncAsyncProcessIf
 More specialized version for rsync which also monitors transfer progress. More...
 
struct  RsyncOptions
 Options controlling rsync invocation. More...
 
struct  RsyncProgress
 Describes file transfer progress,. More...
 
struct  Source
 Simple class that holds the source and associated state. More...
 
struct  Status
 Non observable status object that keeps stores status of data acquisition. More...
 
class  StatusSignal
 Observes any status. More...
 
struct  SubscriberMock
 
class  TestDpmClient
 
class  TestDpmDaqController
 Fixture for daq::DaqController life cycle tests. More...
 
class  TestFormatEsoKeyword
 
class  TestFormatKeyword
 
class  TestFormatLiteralKeyword
 
class  TestFormatValueKeyword
 
class  TestSource
 Test fixture for source tests. More...
 
class  Trim
 Trim string from whitespace (' ', '
') More...
 
struct  UserActionEvent
 Event directly related to user action, such as a command to do something. More...
 
class  Workspace
 Interface to interact with DPM workspace. More...
 
class  WorkspaceImpl
 Implementation of daq::Workspace. More...
 

Typedefs

using DaqReplyPtr = std::shared_ptr< daqif::DaqReply >
 
using DpParts = std::vector< DpPart >
 
using SourceVariant = std::variant< PrimSource, MetaSource >
 
using Alerts = std::vector< Alert >
 

Enumerations

enum class  ErrorPolicy { Strict = 0 , Tolerant }
 Error policy supported by certain operations. More...
 
enum class  State {
  DAQ states handled by OCM. , NotStarted = 0 , Starting = 1 , Acquiring = 2 ,
  Stopping = 3 , Stopped = 4 , NotScheduled = 10 , AbortingAcquiring = 2001 ,
  Scheduled = 11 , Collecting = 12 , Merging = 13 , Releasing = 14 ,
  AbortingMerging = 2010 , Aborted = 2000 , Completed = 3000
}
 Observable states of the data acquisition process. More...
 

Functions

std::ostream & operator<< (std::ostream &os, AsyncProcessIf const &proc)
 Formats proc representation in the form [<pid>] <args>
 
std::ostream & operator<< (std::ostream &os, LogCaptureLast const &lines)
 
daqif::DaqStatus & operator<< (daqif::DaqStatus &status, Status const &rhs)
 Convert daq::Status -> daqif::DaqStatus by populating from rhs.
 
Statusoperator<< (Status &status, daqif::DaqStatus const &rhs)
 Convert daqif::DaqStatus -> daq::Status by populating from rhs.
 
daqif::InternalDaqStatus & operator<< (daqif::InternalDaqStatus &status, Status const &rhs)
 Convert daq::Status -> daqif::InternalDaqStatus by populating from rhs.
 
Statusoperator<< (Status &status, daqif::InternalDaqStatus const &rhs)
 Convert daqif::InternalDaqStatus -> daq::Status by populating from rhs.
 
std::filesystem::space_info & operator<< (std::filesystem::space_info &space, daqif::StorageStatus const &rhs)
 Populate space from rhs.
 
daqif::StorageStatus & operator<< (daqif::StorageStatus &storage, std::filesystem::space_info &rhs)
 Populate storage from rhs.
 
daqif::FullState MakeState (State state) noexcept
 Converts daq::State to DaqSubstate.
 
State MakeState (daqif::FullState state) noexcept
 Converts the full state to daq::State.
 
std::string_view ToString (daqif::DaqState state) noexcept
 
std::string_view ToString (daqif::DaqSubState state) noexcept
 
bool operator== (DaqContext const &lhs, DaqContext const &rhs) noexcept
 
bool operator== (DaqContext::Source const &lhs, DaqContext::Source const &rhs) noexcept
 
void UpdateKeywords (fits::KeywordVector &out, fits::KeywordVector const &in, fits::KeywordFormatter const &fmt)
 Updates (adds or replaces) primary HDU keywords.
 
void UpdateKeywords (DaqContext &ctx, fits::KeywordVector const &keywords, fits::KeywordFormatter const &fmt)
 Updates (adds or replaces) primary HDU keywords.
 
void AddDpParts (DaqContext &ctx, std::vector< DpPart > const &parts)
 
std::ostream & operator<< (std::ostream &os, DaqController const &daq)
 
std::ostream & operator<< (std::ostream &os, DpPart const &part) noexcept
 
std::ostream & operator<< (std::ostream &os, ErrorPolicy policy)
 
std::ostream & operator<< (std::ostream &os, GenericEvent const &s)
 
std::ostream & operator<< (std::ostream &os, ErrorEvent const &s)
 
template<class Clock , class Duration = typename Clock::duration>
double FromTimePoint (std::chrono::time_point< Clock, Duration > const &time)
 
template<class Clock , class Duration = typename Clock::duration>
std::chrono::time_point< Clock, Duration > ToTimePoint (double time)
 
 NLOHMANN_JSON_SERIALIZE_ENUM (State, { {State::NotStarted, "NotStarted"}, {State::Starting, "Starting"}, {State::Acquiring, "Acquiring"}, {State::Stopping, "Stopping"}, {State::Stopped, "Stopped"}, {State::NotScheduled, "NotScheduled"}, {State::Scheduled, "Scheduled"}, {State::Collecting, "Collecting"}, {State::Merging, "Merging"}, {State::Releasing, "Releasing"}, {State::AbortingAcquiring, "AbortingAcquiring"}, {State::AbortingMerging, "AbortingMerging"}, {State::Aborted, "Aborted"}, {State::Completed, "Completed"}, }) NLOHMANN_JSON_SERIALIZE_ENUM(ReceiverStatus
 
void to_json (nlohmann::json &j, Status const &p)
 
void to_json (nlohmann::json &j, Alert const &p)
 
void to_json (nlohmann::json &j, ReceiverStatus const &p)
 
void to_json (nlohmann::json &j, DaqContext const &p)
 
void to_json (nlohmann::json &j, DaqContext::Source const &p)
 
void to_json (nlohmann::json &j, DpPart const &p)
 
void from_json (nlohmann::json const &j, Status &p)
 
void from_json (nlohmann::json const &j, Alert &p)
 
void from_json (nlohmann::json const &j, ReceiverStatus &p)
 
void from_json (nlohmann::json const &j, DaqContext &p)
 
void from_json (nlohmann::json const &j, DaqContext::Source &p)
 
void from_json (nlohmann::json const &j, DpPart &p)
 
std::istream & operator>> (std::istream &is, LogLevel &level)
 Parse log level from string.
 
std::ostream & operator<< (std::ostream &os, LogLevel level)
 Format log level to stream.
 
json::DpSpec MakeDataProductSpecification (DaqContext const &ctx, log4cplus::Logger &logger)
 Creates a Data Product Specification as serialized JSON from the provided DaqContext.
 
std::string MakeIdCandidate (char const *instrument_id, unsigned jitter=0, std::chrono::system_clock::time_point *out=nullptr)
 Creates a DAQ id candidate that may or may not be unique.
 
std::optional< RsyncProgressParseRsyncProgress (std::string const &line) noexcept
 Parse progress update from rsync.
 
std::ostream & operator<< (std::ostream &os, State state)
 Prints state string representation to os.
 
bool IsFinalState (State state) noexcept
 Query whether state is in a final state.
 
bool IsAbortableState (State state) noexcept
 Query whether state is in an abortable state.
 
bool IsActiveDpmState (State state) noexcept
 Query whether state is an active (non-final) state executed by DPM.
 
bool IsSubsequentState (State state1, State state2) noexcept
 Compares states and returns whether state1 occurs after state2.
 
bool operator== (AlertId const &lhs, AlertId const &rhs) noexcept
 
bool operator!= (AlertId const &lhs, AlertId const &rhs) noexcept
 
std::ostream & operator<< (std::ostream &os, AlertId const &s)
 
std::ostream & operator<< (std::ostream &os, PutTimeStruct const &t)
 
PutTimeStruct PutTime (std::chrono::system_clock::time_point const &time)
 
Alert MakeAlert (std::string_view category, std::string key, std::string description)
 Construct alert.
 
Alert MakeAlert (AlertId id, std::string description)
 
AlertId MakeAlertId (std::string_view category, std::string key)
 
bool operator== (Alert const &lhs, Alert const &rhs) noexcept
 Comparison operator for Alert.
 
bool operator== (Alert const &lhs, AlertId const &rhs) noexcept
 
bool operator== (AlertId const &lhs, Alert const &rhs) noexcept
 
bool operator!= (Alert const &lhs, Alert const &rhs) noexcept
 
std::ostream & operator<< (std::ostream &os, Alert const &s)
 
std::ostream & operator<< (std::ostream &os, Alerts const &s)
 
void SetAlert (std::vector< Alert > &alerts, Alert alert)
 Set alert.
 
bool ClearAlert (std::vector< Alert > &alerts, AlertId const &alert)
 Clear alert.
 
bool operator== (ReceiverStatus const &lhs, ReceiverStatus const &rhs) noexcept
 
bool operator!= (ReceiverStatus const &lhs, ReceiverStatus const &rhs) noexcept
 
std::ostream & operator<< (std::ostream &os, ReceiverStatus::State state)
 
bool HasError (Status const &status) noexcept
 
std::ostream & operator<< (std::ostream &os, Status const &s)
 
std::ostream & operator<< (std::ostream &os, ObservableStatus const &s)
 
std::ostream & operator<< (std::ostream &os, Trim const &trim)
 
std::string MakeOcmName (DaqContext const &ctx)
 
json::FitsKeywordsSource MakeOcmKeywords (DaqContext const &ctx, log4cplus::Logger &logger)
 Make OCM keywords source.
 
bool IsStale (ManagerParams const &params, State state, std::chrono::system_clock::time_point creation_time)
 
std::ostream & operator<< (std::ostream &os, std::vector< Alert > const &alerts)
 
 TEST (TestDaqContext, Files)
 
 MATCHER_P2 (KeywordEq, name, type, "keyword name and type equality")
 
 TEST (TestDaqContext, Keywords)
 
 TEST_F (TestDpmClient, StartMonitoringSendsRequestAndReceivesReply)
 
 TEST_F (TestDpmClient, StartMonitoringSendsRequestAndRetriesOnTimeout)
 
 TEST_F (TestDpmDaqController, StatusUpdateInNotScheduledSucceeds)
 
 TEST_F (TestDpmDaqController, StatusOverrideFromOcmAbortedToDpmMergingSucceeds)
 Test that DPM can override status of OCM as it is the authoratitive source of DAQ status.
 
 TEST_F (TestDpmDaqController, StartAsyncThrows)
 
 TEST_F (TestDpmDaqController, StopAsyncThrows)
 
 TEST_F (TestDpmDaqController, UpdateKeywordsThrows)
 
 TEST_F (TestDpmDaqController, ScheduleMergeAsyncSucceedsIfDpmSucceeds)
 
 TEST_F (TestDpmDaqController, ScheduleMergeAsyncSucceedsIfDpmSucceedsWithStatusSignalReceivedBeforeReply)
 
 TEST_F (TestDpmDaqController, ScheduleMergeAsyncFailsIfDpmFails)
 
 TEST_F (TestDpmDaqController, ScheduleMergeAsyncFailsIfTimeout)
 
 TEST_F (TestDpmDaqController, ScheduleMergeAsyncFailsIfAlreadyScheduled)
 
 TEST_F (TestDpmDaqController, AbortAsyncAbortImmediatelyIfNoPendingRequestsExist)
 
 TEST_F (TestDpmDaqController, AbortAsyncWithStrictPolicyAbortsIfDpmAborts)
 
 TEST_F (TestDpmDaqController, AbortAsyncWithStrictPolicyDoesNothingIfDpmAbortFails)
 
 TEST (TestJson, SerializeStatus)
 
 TEST (TestJson, DaqContext)
 
 TEST (TestJson, DaqContextWithSpecification)
 
 TEST_F (MakeDpSpecV1, DefaultDaqContextFails)
 
 TEST_F (MakeDpSpecV1, Success)
 
 TEST_F (MakeDpSpecV2, DefaultDaqContextFails)
 
 TEST_F (MakeDpSpecV2, SuccessWithMergeTarget)
 
 TEST_F (MakeDpSpecV2, SuccessWithoutMergeTarget)
 
 TEST_F (TestSource, Constructors)
 
 TEST_F (TestSource, Accessors)
 
 TEST_F (TestSource, PrimSourceConstructionFailsIfRrClientIsInvalid)
 
 TEST_F (TestSource, PrimSourceConstructionFailsIfNameIsEmpty)
 
 TEST_F (TestSource, MetaSourceConstructionFailsIfRrClientIsInvalid)
 
 TEST_F (TestSource, MetaSourceConstructionFailsIfNameIsEmpty)
 
template<class E , class... Args>
MakeParseException (JsonPointer const &ptr, Args &&... args)
 
template<class E , char const * >
MakeParseException (JsonPointer const &ptr, char const *str)
 
template<class E >
MakeValueMissingException (JsonPointer const &ptr)
 
template<class E >
MakeWrongTypeException (JsonPointer const &ptr, char const *expected_type, char const *actual_type)
 
template<class E >
MakeUnknownVariantException (JsonPointer const &ptr, char const *known_variants, char const *actual_variant)
 
template<class E >
std::pair< Json const &, JsonPointerGetMember (Json const &json, char const *name, JsonPointer const &breadcrumb)
 
template<class E , class BinaryFunction >
std::pair< Json const &, JsonPointerGetMember (Json const &json, char const *name, JsonPointer const &breadcrumb, BinaryFunction const &f)
 
template<class E >
void AssertIsObject (Json const &json, JsonPointer const &breadcrumb)
 
template<class E >
void AssertIsArray (Json const &json, JsonPointer const &breadcrumb)
 
template<class E >
std::vector< std::string > ParseArrayOfString (Json const &json, JsonPointer const &breadcrumb)
 
auto Format (fits::KeywordVariant const &kw, core::dit::did::Record const &record) -> fits::LiteralKeyword
 Format and validates using keyword dictionary record.
 
 TEST_F (TestFormatLiteralKeyword, StringIsWrongType)
 
 TEST_F (TestFormatLiteralKeyword, InvalidStrings)
 
 TEST_F (TestFormatLiteralKeyword, InvalidFloat)
 
 TEST_F (TestFormatLiteralKeyword, InvalidInteger)
 
 TEST_F (TestFormatLiteralKeyword, InvalidBool)
 
 TEST_F (TestFormatLiteralKeyword, ValidStrings)
 
 TEST_F (TestFormatLiteralKeyword, ValidFloatsAreReformatted)
 
 TEST_F (TestFormatLiteralKeyword, ValidFloatsWithoutFormatKeepsFormatting)
 
 TEST_F (TestFormatLiteralKeyword, ValidBool)
 
 TEST_F (TestFormatValueKeyword, ValidStrings)
 
 TEST_F (TestFormatValueKeyword, ValidBool)
 
 TEST_F (TestFormatValueKeyword, ValidFloat)
 
 TEST_F (TestFormatValueKeyword, ValidFloatNoDecimalDigits)
 
 TEST_F (TestFormatValueKeyword, ValidInteger)
 
 TEST_F (TestFormatValueKeyword, NoRecordCommentCoverage)
 
 TEST_F (TestFormatValueKeyword, StringIsWrongType)
 
 TEST_F (TestFormatValueKeyword, DoubleIsWrongType)
 
 TEST_F (TestFormatEsoKeyword, DoubleIsWrongType)
 
 TEST_F (TestFormatEsoKeyword, StringIsWrongType)
 
 TEST_F (TestFormatEsoKeyword, IntegersAreTheWrongType)
 
 TEST_F (TestFormatEsoKeyword, BoolIsTheWrongType)
 

Class Documentation

◆ daq::Alert

struct daq::Alert

Describes an active Data Acquisition alert.

category and key make up the unique identifier of an alert.

Definition at line 95 of file status.hpp.

Class Members
typedef system_clock Clock
typedef time_point TimePoint
Class Members
string description
AlertId id
TimePoint timestamp

◆ daq::AlertId

struct daq::AlertId

Uniquely identfies an alert.

Definition at line 68 of file status.hpp.

Class Members
string category Standardized category.
string key Unique key for each alert.

◆ daq::DpmClientParams

struct daq::DpmClientParams

Connection parameters for DPM.

Definition at line 93 of file dpmClient.hpp.

Class Members
string ps_uri
string rr_uri
seconds status_retry_interval = std::chrono::seconds(15)
seconds timeout = std::chrono::seconds(5)

◆ daq::LogLevel

struct daq::LogLevel

ly typed log4cplus::LogLevel (which is an alias to int)

Definition at line 23 of file log4cplus.hpp.

Class Members
LogLevel value

◆ daq::ManagerParams

struct daq::ManagerParams

Configurations parameters directly related to manager.

Definition at line 46 of file manager.hpp.

Class Members
hours acquiring_stale_age = std::chrono::hours(14) Age of DAQ in acquiring state after which it is automatically considered abandoned and will be archived without further action at startup.
string instrument_id Instrument identifier.
hours merging_stale_age = std::chrono::hours(2 * 24) Age of DAQ in merging state, after which it is automatically considered abandoned and will be archived without further action at startup.
string origin = "ESO-PARANAL"

◆ daq::PutTimeStruct

struct daq::PutTimeStruct

Definition at line 83 of file status.hpp.

Class Members
time_point time

◆ daq::Result

struct daq::Result
template<class T = void, class ErrorType = bool>
struct daq::Result< T, ErrorType >

Utility class that represents a result and an error.

Definition at line 17 of file utility.hpp.

Class Members
ErrorType error
T result

◆ daq::Result< void >

struct daq::Result< void >

Definition at line 23 of file utility.hpp.

Class Members
bool error

◆ daq::RsyncOptions

struct daq::RsyncOptions

Options controlling rsync invocation.

Definition at line 28 of file rsyncAsyncProcess.hpp.

Class Members
optional< unsigned > bw_limit Enables rate-limiting in kb/s.
optional< bool > inplace –inplace/–no-inplace
optional< path > logfile Log file.
optional< string > rsync Binary to use.
optional< seconds > timeout I/O timeout.
optional< bool > whole_file Transfer with/without delta xfer algorithm.

◆ daq::RsyncProgress

struct daq::RsyncProgress

Describes file transfer progress,.

Definition at line 59 of file rsyncAsyncProcess.hpp.

Class Members
float progress Progress as fraction of 1 (complete == 1.0)
seconds remaining Estimated remaining time.
float speed Transfer speed in bytes/sec.
uint64_t transferred Number of transferred bytes.

Typedef Documentation

◆ Alerts

using daq::Alerts = typedef std::vector<Alert>

Definition at line 104 of file status.hpp.

◆ DaqReplyPtr

using daq::DaqReplyPtr = typedef std::shared_ptr<daqif::DaqReply>

Definition at line 23 of file dpmClient.cpp.

◆ DpParts

using daq::DpParts = typedef std::vector<DpPart>

Definition at line 66 of file dpPart.hpp.

◆ SourceVariant

using daq::SourceVariant = typedef std::variant<PrimSource, MetaSource>

Definition at line 181 of file source.hpp.

Enumeration Type Documentation

◆ ErrorPolicy

enum class daq::ErrorPolicy
strong

Error policy supported by certain operations.

Fatal for any policy refers to the operation is aborted and reported as failed (typically using exceptions).

Enumerator
Strict 

Any error is considered fatal and may lead to the operation being aborted.

Tolerant 

Errors that can be ignored with partial completion of a command will be tolerated and is reported as successful.

Definition at line 26 of file error.hpp.

◆ State

enum class daq::State
strong

Observable states of the data acquisition process.

Final states are either Completed* or Aborted*.

life-cycle is fully sequential apart from Aborting and Aborted:

The states implemented in OCM are:

NotStarted -> Starting -> Acquiring -> Stopping -> Stopped -> <NotScheduled>

and the remaining in DPM for executing the merging (handover is done in state NotScheduled):

<NotScheduled> -> Scheduled -> Collecting -> Merging -> Releasing -> Completed*

Each state apart from Completed may transition (optionally via Aborting) to Aborted*.

Aborting -> Aborted*.

Where the state

Enumerator
DAQ states handled by OCM. 

Initial state of data acquisition.

NotStarted 

Initial state of data acquisition.

Starting 

Transitional state between NotStarted and Acquiring when sources have not begun acquiring data yet.

Acquiring 

All data sources have reported data acquisition is in progress.

Stopping 

Transitional state between Acquiring and Stopped.

Stopped 

All data sources have reported they have stopped acquiring data.

NotScheduled 

Before daq is acknowledged by dpm it remains in NotScheduled.

OCM may have attempted to schedule merging in this state so no more modifications are allowed from this point (e.g. updating keywords).

AbortingAcquiring 

Transitional state for aborting during acquisition.

Scheduled 

daq is acknowledged by dpm and is scheduled for merging (i.e.

the daq is in the backlog).

Collecting 

Input files are being collected.

Merging 

DAQ is being merged.

Releasing 

Releasing Data Product to receivers.

AbortingMerging 

Transitional state for aborting during merging.

Aborted 

Data acquisition has been aborted by user.

Completed 

Completed DAQ.

Definition at line 41 of file state.hpp.

Function Documentation

◆ AddDpParts()

void daq::AddDpParts ( DaqContext ctx,
std::vector< DpPart > const &  parts 
)

Definition at line 47 of file daqContext.cpp.

◆ AssertIsArray()

template<class E >
void daq::AssertIsArray ( Json const &  json,
JsonPointer const &  breadcrumb 
)

Definition at line 151 of file internalParseUtils.hpp.

◆ AssertIsObject()

template<class E >
void daq::AssertIsObject ( Json const &  json,
JsonPointer const &  breadcrumb 
)

Definition at line 144 of file internalParseUtils.hpp.

◆ ClearAlert()

bool daq::ClearAlert ( std::vector< Alert > &  alerts,
AlertId const &  alert 
)

Clear alert.

Parameters
alertsContainer of alert to modify.
alertto clear. If key is '*' then all alerts with matching category is cleared.
Returns
true if there was an alert to clear, false otherwise.

Definition at line 31 of file status.cpp.

◆ Format()

auto daq::Format ( fits::KeywordVariant const &  kw,
core::dit::did::Record const &  record 
) -> fits::LiteralKeyword

Format and validates using keyword dictionary record.

Given the keyword the function will check:

  • Value type is compatible (int64_t and uint64_t can be promoted to double).
  • Parse value if value type is a double.
  • If format specifier is provided: Reformat value for floating point type according to format specification.
  • Use comment from record if none is provided already.
Note
ditlib from ifw-core does not make a distinction between HIERARCH ESO keywords and FITS value keywords.

When parsing floating point value from a LiteralKeyword there is no check that the parsed value has more or equal number of decimal places than the requested formatting.

Definition at line 293 of file dictKeywordFormatter.cpp.

◆ from_json() [1/6]

void daq::from_json ( nlohmann::json const &  j,
Alert p 
)

Definition at line 114 of file json.cpp.

◆ from_json() [2/6]

void daq::from_json ( nlohmann::json const &  j,
DaqContext p 
)

Definition at line 129 of file json.cpp.

◆ from_json() [3/6]

void daq::from_json ( nlohmann::json const &  j,
DaqContext::Source p 
)

Definition at line 152 of file json.cpp.

◆ from_json() [4/6]

void daq::from_json ( nlohmann::json const &  j,
DpPart p 
)

Definition at line 158 of file json.cpp.

◆ from_json() [5/6]

void daq::from_json ( nlohmann::json const &  j,
ReceiverStatus p 
)

Definition at line 124 of file json.cpp.

◆ from_json() [6/6]

void daq::from_json ( nlohmann::json const &  j,
Status p 
)

Definition at line 101 of file json.cpp.

◆ FromTimePoint()

template<class Clock , class Duration = typename Clock::duration>
double daq::FromTimePoint ( std::chrono::time_point< Clock, Duration > const &  time)

Definition at line 80 of file conversion.hpp.

◆ GetMember() [1/2]

template<class E >
std::pair< Json const &, JsonPointer > daq::GetMember ( Json const &  json,
char const *  name,
JsonPointer const &  breadcrumb 
)

Definition at line 62 of file internalParseUtils.hpp.

◆ GetMember() [2/2]

template<class E , class BinaryFunction >
std::pair< Json const &, JsonPointer > daq::GetMember ( Json const &  json,
char const *  name,
JsonPointer const &  breadcrumb,
BinaryFunction const &  f 
)

Definition at line 71 of file internalParseUtils.hpp.

◆ HasError()

bool daq::HasError ( Status const &  status)
noexcept
Returns
true if there are alerts with error.

Definition at line 179 of file status.cpp.

◆ IsAbortableState()

bool daq::IsAbortableState ( State  state)
noexcept

Query whether state is in an abortable state.

Returns
true if state is abortable.
false otherwise.

Definition at line 25 of file state.cpp.

◆ IsActiveDpmState()

bool daq::IsActiveDpmState ( State  state)
noexcept

Query whether state is an active (non-final) state executed by DPM.

Returns
true if state is executed by DPM.
false otherwise.

Definition at line 30 of file state.cpp.

◆ IsFinalState()

bool daq::IsFinalState ( State  state)
noexcept

Query whether state is in a final state.

Returns
true if state is Completed or Aborted.
false otherwise.

Definition at line 15 of file state.cpp.

◆ IsStale()

bool daq::IsStale ( ManagerParams const &  params,
State  state,
std::chrono::system_clock::time_point  creation_time 
)

Definition at line 39 of file manager.cpp.

◆ IsSubsequentState()

bool daq::IsSubsequentState ( State  state1,
State  state2 
)
noexcept

Compares states and returns whether state1 occurs after state2.

If states are the same it returns false.

This is e.g. useful to decide when an await condition is fulfillled or when to reject a wait condition because will never occur.

Returns
true if state1 occurs after state2 in the DAQ life-cycle.

Definition at line 43 of file state.cpp.

◆ MakeAlert() [1/2]

Alert daq::MakeAlert ( AlertId  id,
std::string  description 
)

Definition at line 51 of file status.cpp.

◆ MakeAlert() [2/2]

Alert daq::MakeAlert ( std::string_view  category,
std::string  key,
std::string  description 
)

Construct alert.

Definition at line 45 of file status.cpp.

◆ MakeAlertId()

AlertId daq::MakeAlertId ( std::string_view  category,
std::string  key 
)

Definition at line 55 of file status.cpp.

◆ MakeDataProductSpecification()

json::DpSpec daq::MakeDataProductSpecification ( DaqContext const &  ctx,
log4cplus::Logger &  logger 
)

Creates a Data Product Specification as serialized JSON from the provided DaqContext.

DaqContext::specification influences:

  • Source merge order
  • Merge target.
  • Keyword rules.

Definition at line 282 of file makeDpSpec.cpp.

◆ MakeIdCandidate()

std::string daq::MakeIdCandidate ( char const *  instrument_id,
unsigned  jitter = 0,
std::chrono::system_clock::time_point *  out = nullptr 
)

Creates a DAQ id candidate that may or may not be unique.

Parameters
instrument_idThe instrument ID to use for the id. Only the 5 first characters will be used if the name is longer than 5.
jitterJitter is a millisecond component added to the current time. This is meant to be used to find a unique id by adding jitter until a unique id is found.
Note
The function cannot guarantee unique ID and is the responsibility of the caller.

Definition at line 56 of file manager.cpp.

◆ MakeOcmKeywords()

json::FitsKeywordsSource daq::MakeOcmKeywords ( DaqContext const &  ctx,
log4cplus::Logger &  logger 
)

Make OCM keywords source.

Definition at line 27 of file makeDpSpec.cpp.

◆ MakeOcmName()

std::string daq::MakeOcmName ( DaqContext const &  ctx)

Definition at line 20 of file makeDpSpec.cpp.

◆ MakeParseException() [1/2]

template<class E , class... Args>
E daq::MakeParseException ( JsonPointer const &  ptr,
Args &&...  args 
)

Definition at line 24 of file internalParseUtils.hpp.

◆ MakeParseException() [2/2]

template<class E , char const * >
E daq::MakeParseException ( JsonPointer const &  ptr,
char const *  str 
)

Definition at line 30 of file internalParseUtils.hpp.

◆ MakeState() [1/2]

daq::State daq::MakeState ( daqif::FullState  state)
noexcept

Converts the full state to daq::State.

Definition at line 117 of file conversion.cpp.

◆ MakeState() [2/2]

daqif::FullState daq::MakeState ( State  state)
noexcept

Converts daq::State to DaqSubstate.

Definition at line 77 of file conversion.cpp.

◆ MakeUnknownVariantException()

template<class E >
E daq::MakeUnknownVariantException ( JsonPointer const &  ptr,
char const *  known_variants,
char const *  actual_variant 
)

Definition at line 50 of file internalParseUtils.hpp.

◆ MakeValueMissingException()

template<class E >
E daq::MakeValueMissingException ( JsonPointer const &  ptr)

Definition at line 35 of file internalParseUtils.hpp.

◆ MakeWrongTypeException()

template<class E >
E daq::MakeWrongTypeException ( JsonPointer const &  ptr,
char const *  expected_type,
char const *  actual_type 
)

Definition at line 40 of file internalParseUtils.hpp.

◆ MATCHER_P2()

daq::MATCHER_P2 ( KeywordEq  ,
name  ,
type  ,
"keyword name and type equality"   
)

Definition at line 37 of file testDaqContext.cpp.

◆ NLOHMANN_JSON_SERIALIZE_ENUM()

daq::NLOHMANN_JSON_SERIALIZE_ENUM ( State  ,
{ {State::NotStarted, "NotStarted"}, {State::Starting, "Starting"}, {State::Acquiring, "Acquiring"}, {State::Stopping, "Stopping"}, {State::Stopped, "Stopped"}, {State::NotScheduled, "NotScheduled"}, {State::Scheduled, "Scheduled"}, {State::Collecting, "Collecting"}, {State::Merging, "Merging"}, {State::Releasing, "Releasing"}, {State::AbortingAcquiring, "AbortingAcquiring"}, {State::AbortingMerging, "AbortingMerging"}, {State::Aborted, "Aborted"}, {State::Completed, "Completed"}, }   
)

Definition at line 22 of file json.hpp.

◆ operator!=() [1/3]

bool daq::operator!= ( Alert const &  lhs,
Alert const &  rhs 
)
noexcept

Definition at line 84 of file status.cpp.

◆ operator!=() [2/3]

bool daq::operator!= ( AlertId const &  lhs,
AlertId const &  rhs 
)
noexcept

Definition at line 63 of file status.cpp.

◆ operator!=() [3/3]

bool daq::operator!= ( ReceiverStatus const &  lhs,
ReceiverStatus const &  rhs 
)
noexcept

Definition at line 127 of file status.cpp.

◆ operator<<() [1/24]

daqif::DaqStatus & daq::operator<< ( daqif::DaqStatus &  status,
daq::Status const &  rhs 
)

Convert daq::Status -> daqif::DaqStatus by populating from rhs.

Definition at line 20 of file conversion.cpp.

◆ operator<<() [2/24]

daqif::InternalDaqStatus & daq::operator<< ( daqif::InternalDaqStatus &  status,
Status const &  rhs 
)

Convert daq::Status -> daqif::InternalDaqStatus by populating from rhs.

Definition at line 49 of file conversion.cpp.

◆ operator<<() [3/24]

daqif::StorageStatus & daq::operator<< ( daqif::StorageStatus &  storage,
std::filesystem::space_info &  rhs 
)

Populate storage from rhs.

Definition at line 70 of file conversion.cpp.

◆ operator<<() [4/24]

Status & daq::operator<< ( Status status,
daqif::DaqStatus const &  rhs 
)

Convert daqif::DaqStatus -> daq::Status by populating from rhs.

Definition at line 38 of file conversion.cpp.

◆ operator<<() [5/24]

Status & daq::operator<< ( Status status,
daqif::InternalDaqStatus const &  rhs 
)

Convert daqif::InternalDaqStatus -> daq::Status by populating from rhs.

Definition at line 55 of file conversion.cpp.

◆ operator<<() [6/24]

std::filesystem::space_info & daq::operator<< ( std::filesystem::space_info &  space,
daqif::StorageStatus const &  rhs 
)

Populate space from rhs.

Definition at line 62 of file conversion.cpp.

◆ operator<<() [7/24]

std::ostream & daq::operator<< ( std::ostream &  os,
Alert const &  s 
)

Definition at line 105 of file status.cpp.

◆ operator<<() [8/24]

std::ostream & daq::operator<< ( std::ostream &  os,
AlertId const &  s 
)

Definition at line 67 of file status.cpp.

◆ operator<<() [9/24]

std::ostream & daq::operator<< ( std::ostream &  os,
Alerts const &  s 
)

◆ operator<<() [10/24]

std::ostream & daq::operator<< ( std::ostream &  os,
AsyncProcessIf const &  proc 
)

Formats proc representation in the form [<pid>] <args>

Parameters
osOstream to format to.
procinstance to format.

Definition at line 24 of file asyncProcess.cpp.

◆ operator<<() [11/24]

std::ostream & daq::operator<< ( std::ostream &  os,
DaqController const &  daq 
)

Definition at line 120 of file daqController.cpp.

◆ operator<<() [12/24]

std::ostream & daq::operator<< ( std::ostream &  os,
DpPart const &  part 
)
noexcept

Definition at line 6 of file dpPart.cpp.

◆ operator<<() [13/24]

std::ostream & daq::operator<< ( std::ostream &  os,
ErrorEvent const &  s 
)

Definition at line 50 of file eventLog.cpp.

◆ operator<<() [14/24]

std::ostream & daq::operator<< ( std::ostream &  os,
ErrorPolicy  policy 
)

Definition at line 18 of file error.cpp.

◆ operator<<() [15/24]

std::ostream & daq::operator<< ( std::ostream &  os,
GenericEvent const &  s 
)

Definition at line 44 of file eventLog.cpp.

◆ operator<<() [16/24]

std::ostream & daq::operator<< ( std::ostream &  os,
LogCaptureLast const &  lines 
)

Definition at line 174 of file asyncProcess.cpp.

◆ operator<<() [17/24]

std::ostream & daq::operator<< ( std::ostream &  os,
LogLevel  level 
)

Format log level to stream.

Definition at line 29 of file log4cplus.cpp.

◆ operator<<() [18/24]

std::ostream & daq::operator<< ( std::ostream &  os,
ObservableStatus const &  s 
)

Definition at line 386 of file status.cpp.

◆ operator<<() [19/24]

std::ostream & daq::operator<< ( std::ostream &  os,
PutTimeStruct const &  t 
)

Definition at line 88 of file status.cpp.

◆ operator<<() [20/24]

std::ostream & daq::operator<< ( std::ostream &  os,
ReceiverStatus::State  state 
)

Definition at line 131 of file status.cpp.

◆ operator<<() [21/24]

std::ostream & daq::operator<< ( std::ostream &  os,
State  state 
)

Prints state string representation to os.

Definition at line 65 of file state.cpp.

◆ operator<<() [22/24]

std::ostream & daq::operator<< ( std::ostream &  os,
Status const &  s 
)

Definition at line 183 of file status.cpp.

◆ operator<<() [23/24]

std::ostream & daq::operator<< ( std::ostream &  os,
std::vector< Alert > const &  alerts 
)

Definition at line 110 of file status.cpp.

◆ operator<<() [24/24]

std::ostream & daq::operator<< ( std::ostream &  os,
Trim const &  trim 
)
Parameters
osoutput stream to output to.
reporterReporter adapter to format.
Returns
os

Definition at line 35 of file log4cplus.cpp.

◆ operator==() [1/7]

bool daq::operator== ( Alert const &  lhs,
Alert const &  rhs 
)
noexcept

Comparison operator for Alert.

Returns
true if category and key both compares equal between lhs and rhs (description .

Definition at line 72 of file status.cpp.

◆ operator==() [2/7]

bool daq::operator== ( Alert const &  lhs,
AlertId const &  rhs 
)
noexcept

Definition at line 76 of file status.cpp.

◆ operator==() [3/7]

bool daq::operator== ( AlertId const &  lhs,
Alert const &  rhs 
)
noexcept

Definition at line 80 of file status.cpp.

◆ operator==() [4/7]

bool daq::operator== ( AlertId const &  lhs,
AlertId const &  rhs 
)
noexcept

Definition at line 59 of file status.cpp.

◆ operator==() [5/7]

bool daq::operator== ( DaqContext const &  lhs,
DaqContext const &  rhs 
)
noexcept

Definition at line 12 of file daqContext.cpp.

◆ operator==() [6/7]

bool daq::operator== ( DaqContext::Source const &  lhs,
DaqContext::Source const &  rhs 
)
noexcept

Definition at line 20 of file daqContext.cpp.

◆ operator==() [7/7]

bool daq::operator== ( ReceiverStatus const &  lhs,
ReceiverStatus const &  rhs 
)
noexcept

Definition at line 123 of file status.cpp.

◆ operator>>()

std::istream & daq::operator>> ( std::istream &  is,
LogLevel level 
)

Parse log level from string.

Definition at line 17 of file log4cplus.cpp.

◆ ParseArrayOfString()

template<class E >
std::vector< std::string > daq::ParseArrayOfString ( Json const &  json,
JsonPointer const &  breadcrumb 
)

Definition at line 158 of file internalParseUtils.hpp.

◆ ParseRsyncProgress()

std::optional< RsyncProgress > daq::ParseRsyncProgress ( std::string const &  line)
noexcept

Parse progress update from rsync.

Parameters
linea single line in the format rsync outputs with option --info=progress2.
Returns
optional with value if parsing suceeds, empty optional otherwise.

Definition at line 63 of file rsyncAsyncProcess.cpp.

◆ PutTime()

PutTimeStruct daq::PutTime ( std::chrono::system_clock::time_point const &  time)

Definition at line 101 of file status.cpp.

◆ SetAlert()

void daq::SetAlert ( std::vector< Alert > &  alerts,
Alert  alert 
)

Set alert.

Parameters
alertsContainer of alert to modify.
alertto set.

Definition at line 20 of file status.cpp.

◆ TEST() [1/5]

daq::TEST ( TestDaqContext  ,
Files   
)

Definition at line 16 of file testDaqContext.cpp.

◆ TEST() [2/5]

daq::TEST ( TestDaqContext  ,
Keywords   
)

Definition at line 43 of file testDaqContext.cpp.

◆ TEST() [3/5]

daq::TEST ( TestJson  ,
DaqContext   
)

Definition at line 34 of file testJson.cpp.

◆ TEST() [4/5]

daq::TEST ( TestJson  ,
DaqContextWithSpecification   
)

Definition at line 52 of file testJson.cpp.

◆ TEST() [5/5]

daq::TEST ( TestJson  ,
SerializeStatus   
)

Definition at line 17 of file testJson.cpp.

◆ TEST_F() [1/47]

daq::TEST_F ( MakeDpSpecV1  ,
DefaultDaqContextFails   
)

Definition at line 98 of file testMakeDpSpec.cpp.

◆ TEST_F() [2/47]

daq::TEST_F ( MakeDpSpecV1  ,
Success   
)

Definition at line 103 of file testMakeDpSpec.cpp.

◆ TEST_F() [3/47]

daq::TEST_F ( MakeDpSpecV2  ,
DefaultDaqContextFails   
)

Definition at line 113 of file testMakeDpSpec.cpp.

◆ TEST_F() [4/47]

daq::TEST_F ( MakeDpSpecV2  ,
SuccessWithMergeTarget   
)

Definition at line 118 of file testMakeDpSpec.cpp.

◆ TEST_F() [5/47]

daq::TEST_F ( MakeDpSpecV2  ,
SuccessWithoutMergeTarget   
)

Definition at line 167 of file testMakeDpSpec.cpp.

◆ TEST_F() [6/47]

daq::TEST_F ( TestDpmClient  ,
StartMonitoringSendsRequestAndReceivesReply   
)

Definition at line 80 of file testDpmClient.cpp.

◆ TEST_F() [7/47]

daq::TEST_F ( TestDpmClient  ,
StartMonitoringSendsRequestAndRetriesOnTimeout   
)

Definition at line 98 of file testDpmClient.cpp.

◆ TEST_F() [8/47]

daq::TEST_F ( TestDpmDaqController  ,
AbortAsyncAbortImmediatelyIfNoPendingRequestsExist   
)

Definition at line 237 of file testDpmDaqController.cpp.

◆ TEST_F() [9/47]

daq::TEST_F ( TestDpmDaqController  ,
AbortAsyncWithStrictPolicyAbortsIfDpmAborts   
)

Definition at line 251 of file testDpmDaqController.cpp.

◆ TEST_F() [10/47]

daq::TEST_F ( TestDpmDaqController  ,
AbortAsyncWithStrictPolicyDoesNothingIfDpmAbortFails   
)

Definition at line 278 of file testDpmDaqController.cpp.

◆ TEST_F() [11/47]

daq::TEST_F ( TestDpmDaqController  ,
ScheduleMergeAsyncFailsIfAlreadyScheduled   
)

Definition at line 222 of file testDpmDaqController.cpp.

◆ TEST_F() [12/47]

daq::TEST_F ( TestDpmDaqController  ,
ScheduleMergeAsyncFailsIfDpmFails   
)

Definition at line 176 of file testDpmDaqController.cpp.

◆ TEST_F() [13/47]

daq::TEST_F ( TestDpmDaqController  ,
ScheduleMergeAsyncFailsIfTimeout   
)

Definition at line 199 of file testDpmDaqController.cpp.

◆ TEST_F() [14/47]

daq::TEST_F ( TestDpmDaqController  ,
ScheduleMergeAsyncSucceedsIfDpmSucceeds   
)

Definition at line 124 of file testDpmDaqController.cpp.

◆ TEST_F() [15/47]

daq::TEST_F ( TestDpmDaqController  ,
ScheduleMergeAsyncSucceedsIfDpmSucceedsWithStatusSignalReceivedBeforeReply   
)

Definition at line 147 of file testDpmDaqController.cpp.

◆ TEST_F() [16/47]

daq::TEST_F ( TestDpmDaqController  ,
StartAsyncThrows   
)

Definition at line 102 of file testDpmDaqController.cpp.

◆ TEST_F() [17/47]

daq::TEST_F ( TestDpmDaqController  ,
StatusOverrideFromOcmAbortedToDpmMergingSucceeds   
)

Test that DPM can override status of OCM as it is the authoratitive source of DAQ status.

Definition at line 81 of file testDpmDaqController.cpp.

◆ TEST_F() [18/47]

daq::TEST_F ( TestDpmDaqController  ,
StatusUpdateInNotScheduledSucceeds   
)

Definition at line 65 of file testDpmDaqController.cpp.

◆ TEST_F() [19/47]

daq::TEST_F ( TestDpmDaqController  ,
StopAsyncThrows   
)

Definition at line 110 of file testDpmDaqController.cpp.

◆ TEST_F() [20/47]

daq::TEST_F ( TestDpmDaqController  ,
UpdateKeywordsThrows   
)

Definition at line 119 of file testDpmDaqController.cpp.

◆ TEST_F() [21/47]

daq::TEST_F ( TestFormatEsoKeyword  ,
BoolIsTheWrongType   
)

Definition at line 406 of file testDictKeywordFormatter.cpp.

◆ TEST_F() [22/47]

daq::TEST_F ( TestFormatEsoKeyword  ,
DoubleIsWrongType   
)

Definition at line 383 of file testDictKeywordFormatter.cpp.

◆ TEST_F() [23/47]

daq::TEST_F ( TestFormatEsoKeyword  ,
IntegersAreTheWrongType   
)

Definition at line 395 of file testDictKeywordFormatter.cpp.

◆ TEST_F() [24/47]

daq::TEST_F ( TestFormatEsoKeyword  ,
StringIsWrongType   
)

Definition at line 389 of file testDictKeywordFormatter.cpp.

◆ TEST_F() [25/47]

daq::TEST_F ( TestFormatLiteralKeyword  ,
InvalidBool   
)

Definition at line 140 of file testDictKeywordFormatter.cpp.

◆ TEST_F() [26/47]

daq::TEST_F ( TestFormatLiteralKeyword  ,
InvalidFloat   
)

Definition at line 91 of file testDictKeywordFormatter.cpp.

◆ TEST_F() [27/47]

daq::TEST_F ( TestFormatLiteralKeyword  ,
InvalidInteger   
)

Definition at line 112 of file testDictKeywordFormatter.cpp.

◆ TEST_F() [28/47]

daq::TEST_F ( TestFormatLiteralKeyword  ,
InvalidStrings   
)

Definition at line 80 of file testDictKeywordFormatter.cpp.

◆ TEST_F() [29/47]

daq::TEST_F ( TestFormatLiteralKeyword  ,
StringIsWrongType   
)

Definition at line 74 of file testDictKeywordFormatter.cpp.

◆ TEST_F() [30/47]

daq::TEST_F ( TestFormatLiteralKeyword  ,
ValidBool   
)

Definition at line 279 of file testDictKeywordFormatter.cpp.

◆ TEST_F() [31/47]

daq::TEST_F ( TestFormatLiteralKeyword  ,
ValidFloatsAreReformatted   
)

Definition at line 197 of file testDictKeywordFormatter.cpp.

◆ TEST_F() [32/47]

daq::TEST_F ( TestFormatLiteralKeyword  ,
ValidFloatsWithoutFormatKeepsFormatting   
)

Definition at line 238 of file testDictKeywordFormatter.cpp.

◆ TEST_F() [33/47]

daq::TEST_F ( TestFormatLiteralKeyword  ,
ValidStrings   
)

Definition at line 158 of file testDictKeywordFormatter.cpp.

◆ TEST_F() [34/47]

daq::TEST_F ( TestFormatValueKeyword  ,
DoubleIsWrongType   
)

Definition at line 377 of file testDictKeywordFormatter.cpp.

◆ TEST_F() [35/47]

daq::TEST_F ( TestFormatValueKeyword  ,
NoRecordCommentCoverage   
)

Definition at line 362 of file testDictKeywordFormatter.cpp.

◆ TEST_F() [36/47]

daq::TEST_F ( TestFormatValueKeyword  ,
StringIsWrongType   
)

Definition at line 371 of file testDictKeywordFormatter.cpp.

◆ TEST_F() [37/47]

daq::TEST_F ( TestFormatValueKeyword  ,
ValidBool   
)

Definition at line 314 of file testDictKeywordFormatter.cpp.

◆ TEST_F() [38/47]

daq::TEST_F ( TestFormatValueKeyword  ,
ValidFloat   
)

Definition at line 322 of file testDictKeywordFormatter.cpp.

◆ TEST_F() [39/47]

daq::TEST_F ( TestFormatValueKeyword  ,
ValidFloatNoDecimalDigits   
)

Definition at line 335 of file testDictKeywordFormatter.cpp.

◆ TEST_F() [40/47]

daq::TEST_F ( TestFormatValueKeyword  ,
ValidInteger   
)

Definition at line 349 of file testDictKeywordFormatter.cpp.

◆ TEST_F() [41/47]

daq::TEST_F ( TestFormatValueKeyword  ,
ValidStrings   
)

Definition at line 306 of file testDictKeywordFormatter.cpp.

◆ TEST_F() [42/47]

daq::TEST_F ( TestSource  ,
Accessors   
)

Definition at line 51 of file testSource.cpp.

◆ TEST_F() [43/47]

daq::TEST_F ( TestSource  ,
Constructors   
)

Definition at line 34 of file testSource.cpp.

◆ TEST_F() [44/47]

daq::TEST_F ( TestSource  ,
MetaSourceConstructionFailsIfNameIsEmpty   
)

Definition at line 77 of file testSource.cpp.

◆ TEST_F() [45/47]

daq::TEST_F ( TestSource  ,
MetaSourceConstructionFailsIfRrClientIsInvalid   
)

Definition at line 73 of file testSource.cpp.

◆ TEST_F() [46/47]

daq::TEST_F ( TestSource  ,
PrimSourceConstructionFailsIfNameIsEmpty   
)

Definition at line 68 of file testSource.cpp.

◆ TEST_F() [47/47]

daq::TEST_F ( TestSource  ,
PrimSourceConstructionFailsIfRrClientIsInvalid   
)

Definition at line 64 of file testSource.cpp.

◆ to_json() [1/6]

void daq::to_json ( nlohmann::json &  j,
Alert const &  p 
)

Definition at line 48 of file json.cpp.

◆ to_json() [2/6]

void daq::to_json ( nlohmann::json &  j,
DaqContext const &  p 
)

Definition at line 61 of file json.cpp.

◆ to_json() [3/6]

void daq::to_json ( nlohmann::json &  j,
DaqContext::Source const &  p 
)

Definition at line 82 of file json.cpp.

◆ to_json() [4/6]

void daq::to_json ( nlohmann::json &  j,
DpPart const &  p 
)

Definition at line 87 of file json.cpp.

◆ to_json() [5/6]

void daq::to_json ( nlohmann::json &  j,
ReceiverStatus const &  p 
)

Definition at line 56 of file json.cpp.

◆ to_json() [6/6]

void daq::to_json ( nlohmann::json &  j,
Status const &  p 
)

Definition at line 37 of file json.cpp.

◆ ToString() [1/2]

std::string_view daq::ToString ( daqif::DaqState  state)
noexcept
Returns
string representation of enumeration.

Definition at line 160 of file conversion.cpp.

◆ ToString() [2/2]

std::string_view daq::ToString ( daqif::DaqSubState  state)
noexcept
Returns
string representation of enumeration.

Definition at line 176 of file conversion.cpp.

◆ ToTimePoint()

template<class Clock , class Duration = typename Clock::duration>
std::chrono::time_point< Clock, Duration > daq::ToTimePoint ( double  time)

Definition at line 86 of file conversion.hpp.

◆ UpdateKeywords() [1/2]

void daq::UpdateKeywords ( DaqContext ctx,
fits::KeywordVector const &  keywords,
fits::KeywordFormatter const &  fmt 
)

Updates (adds or replaces) primary HDU keywords.

Parameters
ctxContext to modify
keywordsKeywords to format and update from.
fmtKeyword formatter.
Exceptions
fits::UnknownKeywordif keyword is unknown.
std::invalid_argumentif an invalid keyword is encountered.

Definition at line 41 of file daqContext.cpp.

◆ UpdateKeywords() [2/2]

void daq::UpdateKeywords ( fits::KeywordVector out,
fits::KeywordVector const &  in,
fits::KeywordFormatter const &  fmt 
)

Updates (adds or replaces) primary HDU keywords.

Parameters
outKeywords to update to.
inKeywords to format and update from.
fmtKeyword formatter.
Exceptions
fits::UnknownKeywordif keyword is unknown.
std::invalid_argumentif an invalid keyword is encountered.

Definition at line 24 of file daqContext.cpp.