RequestProcessorThread

NAME
SYNOPSIS
Constructor & Destructor Documentation
Member Function Documentation
Member Data Documentation
Author

NAME

RequestProcessorThread −

SYNOPSIS

#include <acsRequest.h>

Inherits ACS::Thread.

Public Member Functions

RequestProcessorThread (const ACE_CString &name, const ACS::TimeInterval &responseTime=ThreadBase::defaultResponseTime, const ACS::TimeInterval &sleepTime=ThreadBase::defaultSleepTime)

~RequestProcessorThread ()

void onStart ()

void stop ()

void exit ()

void runLoop () throw (CORBA::SystemException, ::ACSErrTypeCommon::BadParameterEx)

void process (Request *r)

Private Attributes

ACE_Thread_Mutex * m_mutex

ACE_Condition< ACE_Thread_Mutex > * m_wait

std::queue< Request * > pending

volatile bool running

Constructor & Destructor Documentation

RequestProcessorThread::RequestProcessorThread (const ACE_CString & name, const ACS::TimeInterval & responseTime = ThreadBase::defaultResponseTime, const ACS::TimeInterval & sleepTime = ThreadBase::defaultSleepTime)

RequestProcessorThread::~RequestProcessorThread ()

Member Function Documentation

void RequestProcessorThread::exit () [virtual] Notify thread to exit thread worker function. Thread worker function should always exit when this notification was issued. See example of usage.

Reimplemented from ACS::ThreadBase.

void RequestProcessorThread::onStart () [virtual] Method which is executed before the body of the thread. It is the hook method for a user that wants to do some initialization before the thread execution (thread initialization), s/he has to override/implement this method in the implementation class. It is called by commonStart

Reimplemented from ACS::Thread.

void RequestProcessorThread::process (Request * r)

void RequestProcessorThread::runLoop () throw (CORBA::SystemException, ::ACSErrTypeCommon::BadParameterEx) [virtual] Basic used hook to implement the thread functionality in a periodic loop. The method is executed in a loop until the thread is alive and every responseTime 100ns by the run method. The thread can be exited from the lop by calling ACS::ThreadBase::stop or ACS::ThreadBase::exit command. If the run method is overridden than runLoop is not executed.

Reimplemented from ACS::Thread.

void RequestProcessorThread::stop ()

Member Data Documentation

ACE_Thread_Mutex* RequestProcessorThread::m_mutex [private]

ACE_Condition<ACE_Thread_Mutex>* RequestProcessorThread::m_wait [private]

std::queue<Request*> RequestProcessorThread::pending [private]

volatile bool RequestProcessorThread::running [private]

Author

Generated automatically by Doxygen for ACS-2015.2 C++ API from the source code.