xrootd
Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
XrdMonCtrWriter Class Reference

#include <XrdMonCtrWriter.hh>

Collaboration diagram for XrdMonCtrWriter:
Collaboration graph
[legend]

Public Member Functions

 XrdMonCtrWriter (senderid_t senderId, kXR_int32 stod)
 
 ~XrdMonCtrWriter ()
 
void operator() (const char *packet, const XrdMonHeader &header, long currentTime)
 
kXR_int32 prevStod () const
 
void forceClose ()
 
long lastActivity () const
 

Static Public Member Functions

static void setBaseDir (const char *dir)
 
static void setMaxLogSize (kXR_int64 size)
 
static void setBufferSize (int size)
 

Private Types

enum  LogType { ACTIVE, PERMANENT }
 

Private Member Functions

bool logIsOpen ()
 
bool logIsFull ()
 
bool bufferIsFull (packetlen_t x)
 
string logName (LogType t) const
 
void mkActiveLogNameDirs () const
 
void flushBuffer ()
 
void openLog ()
 
void closeLog ()
 
void publish ()
 

Private Attributes

kXR_int32 _prevStod
 
string _timestamp
 
hp_t _sender
 
char * _buffer
 
kXR_int32 _bPos
 
fstream _file
 
long _lastActivity
 

Static Private Attributes

static string _baseDir
 
static kXR_int64 _maxLogSize
 
static int _bufferSize
 
static long _totalArchived
 

Friends

ostream & operator<< (ostream &o, const XrdMonCtrWriter &w)
 

Member Enumeration Documentation

Enumerator
ACTIVE 
PERMANENT 

Constructor & Destructor Documentation

XrdMonCtrWriter::XrdMonCtrWriter ( senderid_t  senderId,
kXR_int32  stod 
)
XrdMonCtrWriter::~XrdMonCtrWriter ( )

Member Function Documentation

bool XrdMonCtrWriter::bufferIsFull ( packetlen_t  x)
inlineprivate

References _bPos, and _bufferSize.

Referenced by operator()().

void XrdMonCtrWriter::closeLog ( )
private

References _file.

Referenced by flushBuffer(), and ~XrdMonCtrWriter().

void XrdMonCtrWriter::flushBuffer ( )
private
void XrdMonCtrWriter::forceClose ( )
long XrdMonCtrWriter::lastActivity ( ) const
inline

References _lastActivity.

bool XrdMonCtrWriter::logIsFull ( )
inlineprivate

References _file, and _maxLogSize.

Referenced by flushBuffer().

bool XrdMonCtrWriter::logIsOpen ( )
inlineprivate

References _file.

Referenced by flushBuffer().

string XrdMonCtrWriter::logName ( LogType  t) const
private

References _baseDir, _sender, _timestamp, ACTIVE, ERR_INVALIDARG, and PERMANENT.

Referenced by openLog(), and publish().

void XrdMonCtrWriter::mkActiveLogNameDirs ( ) const
private

References _baseDir, _sender, and mkdirIfNecessary().

Referenced by openLog().

void XrdMonCtrWriter::openLog ( )
private

References _file, ACTIVE, logName(), and mkActiveLogNameDirs().

Referenced by flushBuffer().

void XrdMonCtrWriter::operator() ( const char *  packet,
const XrdMonHeader header,
long  currentTime 
)
kXR_int32 XrdMonCtrWriter::prevStod ( ) const
inline

References _prevStod.

Referenced by XrdMonCtrArchiver::archivePacket().

void XrdMonCtrWriter::publish ( )
private
static void XrdMonCtrWriter::setBaseDir ( const char *  dir)
inlinestatic
static void XrdMonCtrWriter::setBufferSize ( int  size)
inlinestatic
static void XrdMonCtrWriter::setMaxLogSize ( kXR_int64  size)
inlinestatic

Friends And Related Function Documentation

ostream& operator<< ( ostream &  o,
const XrdMonCtrWriter w 
)
friend

Member Data Documentation

string XrdMonCtrWriter::_baseDir
staticprivate
kXR_int32 XrdMonCtrWriter::_bPos
private
char* XrdMonCtrWriter::_buffer
private
kXR_int32 XrdMonCtrWriter::_bufferSize
staticprivate
fstream XrdMonCtrWriter::_file
private
long XrdMonCtrWriter::_lastActivity
private

Referenced by lastActivity(), and operator()().

kXR_int64 XrdMonCtrWriter::_maxLogSize
staticprivate

Referenced by logIsFull(), and setMaxLogSize().

kXR_int32 XrdMonCtrWriter::_prevStod
private

Referenced by prevStod().

hp_t XrdMonCtrWriter::_sender
private
string XrdMonCtrWriter::_timestamp
private

Referenced by logName(), publish(), and XrdMonCtrWriter().

long XrdMonCtrWriter::_totalArchived
staticprivate

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