XrdXtRdFile Class Reference

#include <XrdcpXtremeRead.hh>

List of all members.

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
XrdXtRdBlkInfoblocks


Detailed Description

Definition at line 39 of file XrdcpXtremeRead.hh.


Constructor & Destructor Documentation

XrdXtRdFile::XrdXtRdFile ( int  blksize,
long long  filesize 
)

Definition at line 19 of file XrdcpXtremeRead.cc.

References blocks, clientidxcnt, doneblks, freeblks, i, XrdXtRdBlkInfo::len, nblks, xrdmax, and xrdmin.

XrdXtRdFile::~XrdXtRdFile (  ) 

Definition at line 40 of file XrdcpXtremeRead.cc.

References blocks.


Member Function Documentation

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().


Member Data Documentation

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]

Definition at line 44 of file XrdcpXtremeRead.hh.

Referenced by XrdXtRdFile().

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().


The documentation for this class was generated from the following files:
Generated on Tue Jul 5 16:50:50 2011 for ROOT_528-00b_version by  doxygen 1.5.1