geopm
3.1.1.dev272+gdfb40a8d
GEOPM - Global Extensible Open Power Manager
|
#include <Signal.hpp>
Public Member Functions | |
virtual | ~Signal ()=default |
virtual void | setup_batch (void)=0 |
Prepare the signal for being updated through side effects by the owner's read_batch step. This method should not fail if called multiple times, and ideally only apply the side effects on the first call. More... | |
virtual double | sample (void)=0 |
Apply any conversions necessary to interpret the latest stored value as a double. More... | |
virtual double | read (void) const =0 |
Read directly the value of the signal without affecting any pushed batch signals. More... | |
virtual void | set_sample (double) |
Set the value to be returned by sample() More... | |
virtual bool | is_sampled (void) const |
True if the signal has been sampled during this batch. More... | |
An abstract interface for all types of signals supported by an IOGroup. Any implementation specific data should be injected in the derived class constructor and used in setup_batch() if necessary.
|
virtualdefault |
|
inlinevirtual |
True if the signal has been sampled during this batch.
Reimplemented in geopm::LevelZeroSignal.
|
pure virtual |
Read directly the value of the signal without affecting any pushed batch signals.
Implemented in geopm::TimeSignal, geopm::SSTSignal, geopm::RawMSRSignal, geopm::RatioSignal, geopm::MultiplicationSignal, geopm::MSRFieldSignal, geopm::LevelZeroSignal, geopm::DifferenceSignal, and geopm::DerivativeSignal.
|
pure virtual |
Apply any conversions necessary to interpret the latest stored value as a double.
Implemented in geopm::TimeSignal, geopm::SSTSignal, geopm::RawMSRSignal, geopm::RatioSignal, geopm::MultiplicationSignal, geopm::MSRFieldSignal, geopm::LevelZeroSignal, geopm::DifferenceSignal, and geopm::DerivativeSignal.
|
inlinevirtual |
Set the value to be returned by sample()
Reimplemented in geopm::LevelZeroSignal.
|
pure virtual |
Prepare the signal for being updated through side effects by the owner's read_batch step. This method should not fail if called multiple times, and ideally only apply the side effects on the first call.
Implemented in geopm::TimeSignal, geopm::SSTSignal, geopm::RawMSRSignal, geopm::RatioSignal, geopm::MultiplicationSignal, geopm::MSRFieldSignal, geopm::LevelZeroSignal, geopm::DifferenceSignal, and geopm::DerivativeSignal.