#include <loggingAcsLogServiceImpl.h>
List of all members.
Detailed Description
This class implements the functions necessary to send the log records in a batch through the logging Notification Channel. It implements the batch cache as triple buffer to improve the overall throughput of the service.
This class uses a worker thread to dispatch the log records through the Notification Channel when buffer is full or each 1 second
Constructor & Destructor Documentation
AcsLogServiceImpl::LogRecordBatch::LogRecordBatch |
( |
|
) |
|
Initializes the buffers and the worker thread
AcsLogServiceImpl::LogRecordBatch::~LogRecordBatch |
( |
|
) |
|
Member Function Documentation
void AcsLogServiceImpl::LogRecordBatch::add |
( |
const ::Logging::XmlLogRecordSeq * |
reclist |
) |
|
Add log records to the buffer, if the buffer is full will dispatch to the worker thread to send the records through NC
void AcsLogServiceImpl::LogRecordBatch::sendRecords |
( |
::Logging::XmlLogRecordSeq * |
reclist |
) |
[private] |
Send the records through the Notification Channel
void AcsLogServiceImpl::LogRecordBatch::sendRecords |
( |
|
) |
|
Function used by the thread to send the log records to the NC
int AcsLogServiceImpl::LogRecordBatch::svc |
( |
|
) |
[private] |
Entry point for worker thread
static void* AcsLogServiceImpl::LogRecordBatch::worker |
( |
void * |
|
) |
[static] |
function to initilizate the thread
Member Data Documentation
mutex used to protect the batch
reference to the current buffer in use
mutex used by the wait condition
number of the current buffer in use
current size of the batch
The documentation for this class was generated from the following file: