#include <feeserver/fee_ce.hh>
Public Member Functions | |
ControlEngine (Main &main) | |
virtual | ~ControlEngine () |
virtual void | Start ()=0 |
virtual void | CleanUp ()=0 |
virtual short | Issue (const std::vector< unsigned char > &idata, size_t isize, std::vector< unsigned char > &odata, size_t &osize)=0 |
virtual void | UpdateRate (unsigned int) |
Protected Member Functions | |
void * | operator() () |
void | Ready () |
Protected Attributes | |
Main & | _main |
Mutex | _mutex |
Condition | _condition |
bool | _is_ready |
bool | _can_continue |
Friends | |
class | Main |
FeeServer::ControlEngine::ControlEngine | ( | Main & | main | ) |
Constructor
virtual FeeServer::ControlEngine::~ControlEngine | ( | ) | [inline, virtual] |
Destructor
virtual void FeeServer::ControlEngine::Start | ( | ) | [pure virtual] |
Main function. When the CE is ready, it should call the member function Ready from this function
virtual void FeeServer::ControlEngine::CleanUp | ( | ) | [pure virtual] |
Clean up handler
virtual short FeeServer::ControlEngine::Issue | ( | const std::vector< unsigned char > & | idata, | |
size_t | isize, | |||
std::vector< unsigned char > & | odata, | |||
size_t & | osize | |||
) | [pure virtual] |
Handle a command
idata | Input data - encodes the command. | |
isize | Size of idata | |
odata | On return, contains the output data | |
osize | On return, contains the size of odata |
virtual void FeeServer::ControlEngine::UpdateRate | ( | unsigned | int | ) | [inline, virtual] |
Notification of update rate
void * FeeServer::ControlEngine::operator() | ( | ) | [protected, virtual] |
Thread function
Implements FeeServer::Thread.
void FeeServer::ControlEngine::Ready | ( | ) | [protected] |
Signal that we're ready
Main& FeeServer::ControlEngine::_main [protected] |
Reference to server main
Mutex FeeServer::ControlEngine::_mutex [protected] |
Mutex to lock
Condition FeeServer::ControlEngine::_condition [protected] |
Condition variable
bool FeeServer::ControlEngine::_is_ready [protected] |
Whether we're ready
bool FeeServer::ControlEngine::_can_continue [protected] |
Whether we're ready