#include <XrdcpXtremeRead.hh>
Public Member Functions | |
XrdXtRdFile (int blksize, long long filesize) | |
~XrdXtRdFile () | |
bool | AllDone () |
int | GimmeANewClientIdx () |
int | GetNBlks () |
int | GetBlkToPrefetch (int fromidx, int clientIdx, XrdXtRdBlkInfo *&blkreadonly) |
int | GetBlkToRead (int fromidx, int clientidx, XrdXtRdBlkInfo *&blkreadonly) |
void | MarkBlkAsRequested (int blkidx) |
int | MarkBlkAsRead (int blkidx) |
Static Public Member Functions | |
static int | GetListOfSources (XrdClient *ref, XrdOucString xtrememgr, XrdClientVector< XrdClient * > &clients) |
Private Attributes | |
int | clientidxcnt |
XrdSysRecMutex | mtx |
int | freeblks |
int | nblks |
int | doneblks |
XrdXtRdBlkInfo * | blocks |
Definition at line 39 of file XrdcpXtremeRead.hh.
Definition at line 19 of file XrdcpXtremeRead.cc.
References blocks, clientidxcnt, doneblks, freeblks, i, XrdXtRdBlkInfo::len, nblks, xrdmax, and xrdmin.
XrdXtRdFile::~XrdXtRdFile | ( | ) |
bool XrdXtRdFile::AllDone | ( | ) | [inline] |
Definition at line 57 of file XrdcpXtremeRead.hh.
References doneblks, m, mtx, and nblks.
Referenced by doCp_xrd2loc(), doCp_xrd2xrd(), and ReaderThread_xrd_xtreme().
int XrdXtRdFile::GimmeANewClientIdx | ( | ) |
Definition at line 44 of file XrdcpXtremeRead.cc.
References clientidxcnt, m, and mtx.
Referenced by doCp_xrd2loc(), and doCp_xrd2xrd().
int XrdXtRdFile::GetNBlks | ( | ) | [inline] |
Definition at line 62 of file XrdcpXtremeRead.hh.
References nblks.
Referenced by doCp_xrd2loc(), and doCp_xrd2xrd().
int XrdXtRdFile::GetBlkToPrefetch | ( | int | fromidx, | |
int | clientIdx, | |||
XrdXtRdBlkInfo *& | blkreadonly | |||
) |
Definition at line 49 of file XrdcpXtremeRead.cc.
References blocks, i, XrdXtRdBlkInfo::lastrequested, m, mtx, nblks, XrdClientVector< T >::Push_back(), and XrdXtRdBlkInfo::requests.
Referenced by ReaderThread_xrd_xtreme().
int XrdXtRdFile::GetBlkToRead | ( | int | fromidx, | |
int | clientidx, | |||
XrdXtRdBlkInfo *& | blkreadonly | |||
) |
Definition at line 95 of file XrdcpXtremeRead.cc.
References blocks, i, m, mtx, and nblks.
Referenced by ReaderThread_xrd_xtreme().
void XrdXtRdFile::MarkBlkAsRequested | ( | int | blkidx | ) |
int XrdXtRdFile::MarkBlkAsRead | ( | int | blkidx | ) |
Definition at line 114 of file XrdcpXtremeRead.cc.
References blocks, XrdXtRdBlkInfo::done, doneblks, m, and mtx.
Referenced by ReaderThread_xrd_xtreme().
int XrdXtRdFile::GetListOfSources | ( | XrdClient * | ref, | |
XrdOucString | xtrememgr, | |||
XrdClientVector< XrdClient * > & | clients | |||
) | [static] |
Definition at line 132 of file XrdcpXtremeRead.cc.
References XrdOucString::beginswith(), XrdOucString::c_str(), XrdClientVector< T >::GetSize(), i, kXR_nowait, and XrdClientVector< T >::Push_back().
Referenced by doCp_xrd2loc(), and doCp_xrd2xrd().
int XrdXtRdFile::clientidxcnt [private] |
Definition at line 41 of file XrdcpXtremeRead.hh.
Referenced by GimmeANewClientIdx(), and XrdXtRdFile().
XrdSysRecMutex XrdXtRdFile::mtx [private] |
Definition at line 42 of file XrdcpXtremeRead.hh.
Referenced by AllDone(), GetBlkToPrefetch(), GetBlkToRead(), GimmeANewClientIdx(), and MarkBlkAsRead().
int XrdXtRdFile::freeblks [private] |
int XrdXtRdFile::nblks [private] |
Definition at line 45 of file XrdcpXtremeRead.hh.
Referenced by AllDone(), GetBlkToPrefetch(), GetBlkToRead(), GetNBlks(), and XrdXtRdFile().
int XrdXtRdFile::doneblks [private] |
Definition at line 46 of file XrdcpXtremeRead.hh.
Referenced by AllDone(), MarkBlkAsRead(), and XrdXtRdFile().
XrdXtRdBlkInfo* XrdXtRdFile::blocks [private] |
Definition at line 48 of file XrdcpXtremeRead.hh.
Referenced by GetBlkToPrefetch(), GetBlkToRead(), MarkBlkAsRead(), XrdXtRdFile(), and ~XrdXtRdFile().