xrootd
Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes | Friends
XrdMonCtrWriter Class Reference

#include <XrdMonCtrWriter.hh>

Collaboration diagram for XrdMonCtrWriter:
Collaboration graph
[legend]

List of all members.

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

enum XrdMonCtrWriter::LogType [private]
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) [inline, private]

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 ( ) [inline, private]

References _file, and _maxLogSize.

Referenced by flushBuffer().

bool XrdMonCtrWriter::logIsOpen ( ) [inline, private]

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) [inline, static]
static void XrdMonCtrWriter::setBufferSize ( int  size) [inline, static]
static void XrdMonCtrWriter::setMaxLogSize ( kXR_int64  size) [inline, static]

Friends And Related Function Documentation

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

Member Data Documentation

string XrdMonCtrWriter::_baseDir [static, private]
char* XrdMonCtrWriter::_buffer [private]
fstream XrdMonCtrWriter::_file [private]

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

Referenced by logIsFull(), and setMaxLogSize().

Referenced by prevStod().

string XrdMonCtrWriter::_timestamp [private]

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

long XrdMonCtrWriter::_totalArchived [static, private]

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