|
HLCC Documentation 2.2.0
|
Protected Member Functions | |
| void | SetUp () override |
| void | TearDown () override |
| void | ValidatePresetData (const std::shared_ptr< const ::ccsinsif::PresetData > &preset_data) |
| std::shared_ptr< const ccsinsif::PresetArgs > | GetPresetArgs () const |
| void | SetPresetArgs (std::shared_ptr< const ccsinsif::PresetArgs > preset_args) |
| std::shared_ptr< const ccsinsif::PresetData > | GetPresetData () const |
| void | SetPresetData (std::shared_ptr< const ccsinsif::PresetData > preset_data) |
Protected Attributes | |
| log4cplus::Logger | logger {} |
| std::shared_ptr< elt::mal::Mal > | m_mal_entity_factory {} |
| std::shared_ptr< const ccsinsif::PresetArgs > | m_preset_args |
| std::shared_ptr< const ccsinsif::PresetData > | m_preset_data |
| std::mutex | m_mutex {} |
| const double | ra_expected = 1.234 |
| const std::string | system_expected = "ICRS" |
This test was created as a demonstration of a memory corruption problem, see https://jira.eso.org/browse/ECII-635. Then CII clarified that the problem was caused by a known limitation of ZMQ entities, where the parent entity is the owner of the proto message object when we clone the parent. In that case, a child object can be corrupted once we release the parent pointer, even though we keep a valid shared pointer to the child. The answer was to either clone the parent struct and keep that pointer, or to clone the child struct and keep that pointer. We keep the test anyway, to accidentally spot other problems, or to be extended for specific issues with ICD-generated code in the future.
|
inlineprotected |
Getter for shared PresetData instance (copy of shared_ptr).
|
inlineprotected |
Getter for shared PresetData instance (copy of shared_ptr).
|
inlineprotected |
Setter for shared PresetData instance (copy of shared_ptr).
|
inlineprotected |
Setter for shared PresetData instance (copy of shared_ptr).
|
inlineoverrideprotected |
|
inlineoverrideprotected |
|
protected |
Validates 2 known fields of the PresetData instance.
|
protected |
|
protected |
MAL instance used to instantiate ICD-defined structs like PresetData.
|
mutableprotected |
Mutex for GetPresetData / SetPresetData.
|
protected |
PresetData instance shared between threads.
|
protected |
PresetData instance shared between threads.
|
protected |
To avoid dependency on ptk, we do not use angles such as Radians{1.0_deg}.
|
protected |