Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes

logging::RemoteLoggerBuffer Class Reference

#include <loggingACSRemoteAppender.h>

Collaboration diagram for logging::RemoteLoggerBuffer:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 RemoteLoggerBuffer (unsigned long cacheSize, unsigned int autoFlushTimeoutSec, Logging::AcsLogService_ptr centralizedLogger, int maxLogsPerSecond)
void append (Logging::XmlLogRecord &log)
 ~RemoteLoggerBuffer ()

Private Member Functions

void sendLog (Logging::XmlLogRecord &log)
void sendLog (Logging::XmlLogRecordSeq &logs)
void flushCache ()
void svc ()

Static Private Member Functions

static void * worker (void *arg)

Private Attributes

unsigned int _cacheSize
unsigned int _flushTimeout
Logging::AcsLogService_ptr _logger
std::deque
< Logging::XmlLogRecord > * 
_cache
ACE_Thread_Mutex _cacheMutex
logging::LogThrottle_logThrottle
pthread_t thread
ACE_SYNCH_MUTEX _workCondThreadMutex
ACE_SYNCH_CONDITION _workCond
bool _stopThread

Detailed Description

Thread safe buffer


Constructor & Destructor Documentation

logging::RemoteLoggerBuffer::RemoteLoggerBuffer ( unsigned long  cacheSize,
unsigned int  autoFlushTimeoutSec,
Logging::AcsLogService_ptr  centralizedLogger,
int  maxLogsPerSecond 
)
logging::RemoteLoggerBuffer::~RemoteLoggerBuffer (  ) 

Member Function Documentation

void logging::RemoteLoggerBuffer::append ( Logging::XmlLogRecord &  log  ) 
void logging::RemoteLoggerBuffer::flushCache (  )  [private]
void logging::RemoteLoggerBuffer::sendLog ( Logging::XmlLogRecord &  log  )  [private]
void logging::RemoteLoggerBuffer::sendLog ( Logging::XmlLogRecordSeq &  logs  )  [private]
void logging::RemoteLoggerBuffer::svc (  )  [private]
static void* logging::RemoteLoggerBuffer::worker ( void *  arg  )  [static, private]

Member Data Documentation

std::deque<Logging::XmlLogRecord>* logging::RemoteLoggerBuffer::_cache [private]
ACE_Thread_Mutex logging::RemoteLoggerBuffer::_cacheMutex [private]
Logging::AcsLogService_ptr logging::RemoteLoggerBuffer::_logger [private]
ACE_SYNCH_CONDITION logging::RemoteLoggerBuffer::_workCond [private]

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