xrootd
|
#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 |
XrdXtRdFile::XrdXtRdFile | ( | int | blksize, |
long long | filesize | ||
) |
References blocks, clientidxcnt, doneblks, freeblks, XrdXtRdBlkInfo::len, nblks, XrdXtRdBlkInfo::offs, xrdmax, and xrdmin.
XrdXtRdFile::~XrdXtRdFile | ( | ) |
References blocks.
bool XrdXtRdFile::AllDone | ( | ) | [inline] |
References doneblks, mtx, and nblks.
Referenced by doCp_xrd2loc(), doCp_xrd2xrd(), and ReaderThread_xrd_xtreme().
int XrdXtRdFile::GetBlkToPrefetch | ( | int | fromidx, |
int | clientIdx, | ||
XrdXtRdBlkInfo *& | blkreadonly | ||
) |
References blocks, XrdClientVector< T >::GetSize(), XrdXtRdBlkInfo::lastrequested, mtx, nblks, XrdClientVector< T >::Push_back(), and XrdXtRdBlkInfo::requests.
Referenced by ReaderThread_xrd_xtreme().
int XrdXtRdFile::GetBlkToRead | ( | int | fromidx, |
int | clientidx, | ||
XrdXtRdBlkInfo *& | blkreadonly | ||
) |
References blocks, XrdXtRdBlkInfo::lastrequested, mtx, and nblks.
Referenced by ReaderThread_xrd_xtreme().
int XrdXtRdFile::GetListOfSources | ( | XrdClient * | ref, |
XrdOucString | xtrememgr, | ||
XrdClientVector< XrdClient * > & | clients | ||
) | [static] |
References XrdOucString::beginswith(), XrdOucString::c_str(), XrdClientUrlInfo::File, XrdClientAbs::GetCurrentUrl(), XrdClientVector< T >::GetSize(), XrdClientUrlInfo::HostWPort, kXR_nowait, XrdClientAdmin::Locate(), and XrdClientVector< T >::Push_back().
Referenced by doCp_xrd2loc(), and doCp_xrd2xrd().
int XrdXtRdFile::GetNBlks | ( | ) | [inline] |
References nblks.
Referenced by doCp_xrd2loc(), and doCp_xrd2xrd().
int XrdXtRdFile::GimmeANewClientIdx | ( | ) |
References clientidxcnt, and mtx.
Referenced by doCp_xrd2loc(), and doCp_xrd2xrd().
int XrdXtRdFile::MarkBlkAsRead | ( | int | blkidx | ) |
References blocks, XrdXtRdBlkInfo::done, doneblks, and mtx.
Referenced by ReaderThread_xrd_xtreme().
void XrdXtRdFile::MarkBlkAsRequested | ( | int | blkidx | ) |
XrdXtRdBlkInfo* XrdXtRdFile::blocks [private] |
Referenced by GetBlkToPrefetch(), GetBlkToRead(), MarkBlkAsRead(), XrdXtRdFile(), and ~XrdXtRdFile().
int XrdXtRdFile::clientidxcnt [private] |
Referenced by GimmeANewClientIdx(), and XrdXtRdFile().
int XrdXtRdFile::doneblks [private] |
Referenced by AllDone(), MarkBlkAsRead(), and XrdXtRdFile().
int XrdXtRdFile::freeblks [private] |
Referenced by XrdXtRdFile().
XrdSysRecMutex XrdXtRdFile::mtx [private] |
Referenced by AllDone(), GetBlkToPrefetch(), GetBlkToRead(), GimmeANewClientIdx(), and MarkBlkAsRead().
int XrdXtRdFile::nblks [private] |
Referenced by AllDone(), GetBlkToPrefetch(), GetBlkToRead(), GetNBlks(), and XrdXtRdFile().