xrootd
|
#include <XrdMonDecPreProcess.hh>
Public Member Functions | |
XrdMonDecPreProcess (fstream &theFile, kXR_int64 fSize, sequen_t lastSeq, kXR_int32 ignoreIfBefore, vector< pair< packetlen_t, kXR_int64 > > &allPackets) | |
void | operator() () |
Private Types | |
enum | { TBUFSIZE = 20, MAXTBUFELEM = TBUFSIZE-1 } |
Private Member Functions | |
void | checkFile () |
kXR_char | previousSeq () const |
bool | outOfOrder (XrdMonDecOnePacket &packet) |
void | keepPacket (XrdMonDecOnePacket &packet) |
void | add2TempBuf (XrdMonDecOnePacket &packet) |
int | processOnePacket (const char *buf, int bytesLeft, kXR_int64 fPos, kXR_int32 &xrdStartTime) |
void | reportAndThrowIfTooBad () |
Private Attributes | |
fstream & | _file |
kXR_int64 | _fSize |
XrdMonDecOnePacket | _tempBuf [TBUFSIZE] |
short | _tempBufPos |
bool | _markNextSlotAsSpecial |
kXR_int32 | _ignoreIfBefore |
vector< pair< packetlen_t, kXR_int64 > > & | _allPackets |
vector< int > | _lostPackets |
vector< int > | _oooPackets |
sequen_t | _lastSeq |
XrdMonDecPreProcess::XrdMonDecPreProcess | ( | fstream & | theFile, |
kXR_int64 | fSize, | ||
sequen_t | lastSeq, | ||
kXR_int32 | ignoreIfBefore, | ||
vector< pair< packetlen_t, kXR_int64 > > & | allPackets | ||
) |
void XrdMonDecPreProcess::add2TempBuf | ( | XrdMonDecOnePacket & | packet | ) | [private] |
References _lostPackets, _tempBuf, _tempBufPos, MAXTBUFELEM, and TBUFSIZE.
Referenced by keepPacket().
void XrdMonDecPreProcess::checkFile | ( | ) | [private] |
References _file, _fSize, and processOnePacket().
Referenced by operator()().
void XrdMonDecPreProcess::keepPacket | ( | XrdMonDecOnePacket & | packet | ) | [private] |
References _allPackets, add2TempBuf(), XrdMonDecOnePacket::fPos(), and XrdMonDecOnePacket::len().
Referenced by processOnePacket().
void XrdMonDecPreProcess::operator() | ( | ) |
References _allPackets, _file, _lostPackets, checkFile(), and reportAndThrowIfTooBad().
bool XrdMonDecPreProcess::outOfOrder | ( | XrdMonDecOnePacket & | packet | ) | [private] |
References _allPackets, _oooPackets, _tempBuf, _tempBufPos, XrdMonDecOnePacket::fPos(), XrdMonDecOnePacket::len(), XrdMonDecOnePacket::LOST, MAXTBUFELEM, and XrdMonDecOnePacket::seq().
Referenced by processOnePacket().
kXR_char XrdMonDecPreProcess::previousSeq | ( | ) | const [private] |
References _lastSeq, _tempBuf, _tempBufPos, and XrdMonDecOnePacket::seq().
Referenced by processOnePacket().
int XrdMonDecPreProcess::processOnePacket | ( | const char * | buf, |
int | bytesLeft, | ||
kXR_int64 | fPos, | ||
kXR_int32 & | xrdStartTime | ||
) | [private] |
References _allPackets, _file, _fSize, _ignoreIfBefore, ERR_INTERNALERR, XrdMonDecOnePacket::init(), keepPacket(), XrdMonDecOnePacket::LOST, XrdMonDecOnePacket::myNr(), outOfOrder(), previousSeq(), XrdMonDecOnePacket::resetNextNr(), XrdMonDecOnePacket::seq(), XrdMonDecOnePacket::stod(), TBUFSIZE, and timestamp2string().
Referenced by checkFile().
void XrdMonDecPreProcess::reportAndThrowIfTooBad | ( | ) | [private] |
References _allPackets, _lostPackets, _oooPackets, ERR_TOOMANYLOST, XrdMonDecOnePacket::maxDictId(), and XrdMonDecOnePacket::minDictId().
Referenced by operator()().
vector< pair<packetlen_t, kXR_int64> >& XrdMonDecPreProcess::_allPackets [private] |
Referenced by keepPacket(), operator()(), outOfOrder(), processOnePacket(), and reportAndThrowIfTooBad().
fstream& XrdMonDecPreProcess::_file [private] |
Referenced by checkFile(), operator()(), and processOnePacket().
kXR_int64 XrdMonDecPreProcess::_fSize [private] |
Referenced by checkFile(), and processOnePacket().
Referenced by processOnePacket().
sequen_t XrdMonDecPreProcess::_lastSeq [private] |
Referenced by previousSeq().
vector<int> XrdMonDecPreProcess::_lostPackets [private] |
Referenced by add2TempBuf(), operator()(), and reportAndThrowIfTooBad().
bool XrdMonDecPreProcess::_markNextSlotAsSpecial [private] |
vector<int> XrdMonDecPreProcess::_oooPackets [private] |
Referenced by outOfOrder(), and reportAndThrowIfTooBad().
XrdMonDecOnePacket XrdMonDecPreProcess::_tempBuf[TBUFSIZE] [private] |
Referenced by add2TempBuf(), outOfOrder(), and previousSeq().
short XrdMonDecPreProcess::_tempBufPos [private] |
Referenced by add2TempBuf(), outOfOrder(), and previousSeq().