XrdXrootdGStream Class Reference

#include <XrdXrootdGStream.hh>

Inheritance diagram for XrdXrootdGStream:
Inheritance graph
[legend]
Collaboration diagram for XrdXrootdGStream:
Collaboration graph
[legend]

List of all members.

Public Member Functions

void Flush ()
uint32_t GetDictID (const char *text, bool isPath=false)
bool Insert (const char *data, int dlen)
bool Insert (int dlen)
char * Reserve (int dlen)
int SetAutoFlush (int afsec)
 XrdXrootdGStream (XrdXrootdGSReal &gsRef)

Static Public Attributes

static const int MaxDataLen = 65280
 The larest amount of data that can be inserted in a single call to GStream.

Protected Member Functions

 ~XrdXrootdGStream ()
 Destructor. This stream should never be directly deleted.

Private Attributes

XrdXrootdGSRealgStream

Constructor & Destructor Documentation

XrdXrootdGStream::XrdXrootdGStream ( XrdXrootdGSReal gsRef  )  [inline]

Constructor

Parameters:
gsRef refrence to the G-Stream implementation.
XrdXrootdGStream::~XrdXrootdGStream (  )  [inline, protected]

Destructor. This stream should never be directly deleted.


Member Function Documentation

void XrdXrootdGStream::Flush (  ) 

Flush any pending monitoring messages to the data collector. Also, see the related SetAutoFlush() method.

Reimplemented in XrdXrootdGSReal.

uint32_t XrdXrootdGStream::GetDictID ( const char *  text,
bool  isPath = false 
)

Obtain a dictionary ID to map a string to an integer ID. The mapping is automatically sent to the monitor collector for future use using the 'd' or 'i' mapping identifier.

Parameters:
text -> the null terminated string to be assigned an ID. The text must be less than or equal to 1024 characters.
isPath when true the text specified a file system path and identified as a XROOTD_MON_MAPPATH item. Otherwise, it is identified as a XROOTD_MON_MAPINFO item.
Returns:
the integer identifier assigned to the string information. The returned value is in network byte order!

Reimplemented in XrdXrootdGSReal.

bool XrdXrootdGStream::Insert ( int  dlen  ) 

Insert information into the G-Stream using the data placed in the buffer space obtained by a previous call to Reserve(). Upon return, this object is unlocked.

Parameters:
dlen the number of bytes actually present in the buffer. The text must end with a null byte and dlen must be 8 <= dlen <= dlen used in the previous Reserve() call.
Returns:
true data included.
false data rejected; invalid length or no buffer outstanding.

Reimplemented in XrdXrootdGSReal.

bool XrdXrootdGStream::Insert ( const char *  data,
int  dlen 
)

Insert information into the G-Stream.

Parameters:
data -> to null-terminated text to be included in the G-Stream.
dlen the length of the text *including* the null character. Requires that (8 <= dlen <= MaxDataLen); defined below.
Returns:
true data included.
false data rejected; invalid length or is not null terminated.

Reimplemented in XrdXrootdGSReal.

char* XrdXrootdGStream::Reserve ( int  dlen  ) 

Obtain a buffer space for information. This object is locked and no other thread can insert information until the buffer is inserted using Insert().

Parameters:
dlen the number of bytes required to be available for use. Requires that (8 <= dlen <= MaxDataLen); defined below.
Returns:
!0 pointer to a dlen sized buffer.
=0 invalid length specified or a buffer is outstanding.

Reimplemented in XrdXrootdGSReal.

int XrdXrootdGStream::SetAutoFlush ( int  afsec  ) 

Set autoflush time interval (or disable it). Disabling autoflush may be useful when data is periodically generated at a low rate and manual flushing would produce more consistent results.

Parameters:
afsec Number of seconds between autoflushing. A zero or negative value disables autoflush. The default is 600 seconds (i.e. 10 minutes) subject to what is specified via the xrootd.monitor flush directive. Positive values less that 60 are considered to be 60.
Returns:
The previous auto-flush setting.

Reimplemented in XrdXrootdGSReal.


Member Data Documentation

const int XrdXrootdGStream::MaxDataLen = 65280 [static]

The larest amount of data that can be inserted in a single call to GStream.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 7 Jul 2020 for xrootd by  doxygen 1.6.1