geopm  3.1.1.dev272+gdfb40a8d
GEOPM - Global Extensible Open Power Manager
Public Member Functions | List of all members
geopm::Control Class Referenceabstract

#include <Control.hpp>

Inheritance diagram for geopm::Control:
Inheritance graph
[legend]

Public Member Functions

virtual ~Control ()=default
 
virtual void setup_batch (void)=0
 Prepare the control for being written through side effects by the owner's write_batch step. This method should not fail if called multiple times, and ideally only apply the side effects on the first call. More...
 
virtual void adjust (double value)=0
 Store values to be written by the owner's write_batch step. More...
 
virtual void write (double value)=0
 Write the value of the control without affecting any pushed batch controls. More...
 
virtual void save (void)=0
 Store the current setting of the control for use by a future call to restore(). More...
 
virtual void restore (void)=0
 Restore the setting stored by save(). More...
 

Detailed Description

An abstract interface for all types of controls supported by an IOGroup. Any implementation specific data should be injected in the derived class constructor and used in setup_batch() if necessary.

Constructor & Destructor Documentation

◆ ~Control()

virtual geopm::Control::~Control ( )
virtualdefault

Member Function Documentation

◆ adjust()

virtual void geopm::Control::adjust ( double  value)
pure virtual

Store values to be written by the owner's write_batch step.

Implemented in geopm::SSTControl, geopm::MSRFieldControl, and geopm::DomainControl.

◆ restore()

virtual void geopm::Control::restore ( void  )
pure virtual

Restore the setting stored by save().

Implemented in geopm::SSTControl, geopm::MSRFieldControl, and geopm::DomainControl.

◆ save()

virtual void geopm::Control::save ( void  )
pure virtual

Store the current setting of the control for use by a future call to restore().

Implemented in geopm::SSTControl, geopm::MSRFieldControl, and geopm::DomainControl.

◆ setup_batch()

virtual void geopm::Control::setup_batch ( void  )
pure virtual

Prepare the control for being written through side effects by the owner's write_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::SSTControl, geopm::MSRFieldControl, and geopm::DomainControl.

◆ write()

virtual void geopm::Control::write ( double  value)
pure virtual

Write the value of the control without affecting any pushed batch controls.

Implemented in geopm::SSTControl, geopm::MSRFieldControl, and geopm::DomainControl.


The documentation for this class was generated from the following file: