XrdFrmTransfer Class Reference

#include <XrdFrmTransfer.hh>

List of all members.

Public Member Functions

void Start ()
 XrdFrmTransfer ()
 ~XrdFrmTransfer ()

Static Public Member Functions

static const char * checkFF (const char *Path)
static int Init ()

Private Member Functions

const char * Fetch ()
const char * Fetch (char *lfnpath, int &rc, time_t lktime)
const char * ffCheck ()
void ffMake (int nofile=0)
int SetupCmd (XrdFrmTranArg *aP)
int TrackDC (char *Lfn, char *Mdp, char *Rfn)
int TrackDC (char *Rfn)
const char * Throw ()
void Throwaway ()
const char * ThrowOK (XrdFrmTranChk *cP)

Private Attributes

XrdOucProgxfrCmd [4]
XrdFrmXfrJobxfrP
char cmdBuff [4096]

Static Private Attributes

static XrdSysMutex pMutex
static XrdOucHash< char > pTab


Detailed Description

Definition at line 25 of file XrdFrmTransfer.hh.


Constructor & Destructor Documentation

XrdFrmTransfer::XrdFrmTransfer (  ) 

Definition at line 86 of file XrdFrmTransfer.cc.

References XrdFrm::Config(), i, XrdFrm::Say(), XrdFrmConfig::Cmd::theVec, XrdFrmConfig::xfrCmd, and xfrCmd.

XrdFrmTransfer::~XrdFrmTransfer (  )  [inline]

Definition at line 37 of file XrdFrmTransfer.hh.


Member Function Documentation

const char * XrdFrmTransfer::checkFF ( const char *  Path  )  [static]

Definition at line 100 of file XrdFrmTransfer.cc.

References XrdFrm::Config(), DEBUG, EPNAME, XrdFrmConfig::FailHold, XrdFrmConfig::ossFS, stat, XrdFrmConfig::Test, XrdOss::Unlink(), and XRDOSS_isPFN.

Referenced by XrdFrmMigrate::Eligible(), and ffCheck().

int XrdFrmTransfer::Init (  )  [static]

Definition at line 333 of file XrdFrmTransfer.cc.

References XrdFrm::CID, XrdFrm::Config(), XrdSysError::Emsg(), XrdFrmCID::Init(), XrdFrmXfrQueue::Init(), InitXfer(), n, XrdFrmConfig::QPath, XrdSysThread::Run(), XrdFrm::Say(), XrdFrmConfig::xfrMax, and XRDSYSTHREAD_BIND.

Referenced by XrdFrmXfrDaemon::Init().

void XrdFrmTransfer::Start (  ) 

Definition at line 408 of file XrdFrmTransfer.cc.

References XrdFrm::Config(), DEBUG, XrdFrmXfrQueue::Done(), EPNAME, Fetch(), XrdFrmXfrQueue::Get(), XrdFrmRequest::LFN, XrdFrmRequest::outQ, XrdFrmXfrJob::PFN, XrdFrmXfrJob::pfnEnd, XrdFrmXfrJob::qNum, XrdFrmXfrJob::reqData, XrdFrmXfrJob::RetCode, XrdFrm::Say(), XrdSysError::Say(), sprintf(), Throw(), XrdFrmXfrJob::Type, XrdFrmRequest::User, XrdFrmConfig::Verbose, and xfrP.

Referenced by InitXfer().

const char * XrdFrmTransfer::Fetch (  )  [private]

Definition at line 125 of file XrdFrmTransfer.cc.

References XrdFrmRequest::addTOD, XrdFrmConfig::cmdAlloc, XrdFrmConfig::cmdStats, XrdFrmConfig::cmsPath, XrdFrm::Config(), XrdOss::Create(), DEBUG, XrdSysError::Emsg(), EPNAME, ffCheck(), ffMake(), fSize, XrdNetCmsNotify::Have(), XrdFrmRequest::iName, XrdFrmRequest::LFN, XrdFrmRequest::LFO, XrdFrmMonitor::Map(), XrdFrmConfig::monStage, XrdFrmRequest::Opaque, XrdFrmConfig::Cmd::Opts, XrdFrmConfig::ossFS, XrdFrmXfrJob::PFN, XrdFrmXfrJob::pfnEnd, XrdFrmConfig::RemotePath(), XrdFrmXfrJob::reqData, XrdFrmXfrJob::RetCode, XrdOucProg::Run(), S_IRGRP, S_IROTH, S_IRUSR, S_IWUSR, XrdFrm::Say(), XrdSysError::Say(), SetupCmd(), snprintf, sprintf(), stat, strcpy(), strlcpy(), XrdFrmTranArg::theCmd, XrdFrmTranArg::theDst, XrdFrmTranArg::theINS, XrdFrmTranArg::theSrc, XrdFrmTranArg::theVec, XrdFrmConfig::Cmd::theVec, Trace, TRACE_Debug, XrdOss::Unlink(), XrdFrmRequest::User, XrdFrmConfig::xfrCmd, xfrCmd, xfrP, XRDOSS_mkpath, and XROOTD_MON_MAPSTAG.

Referenced by Start().

const char * XrdFrmTransfer::Fetch ( char *  lfnpath,
int &  rc,
time_t  lktime 
) [private]

Definition at line 259 of file XrdFrmTransfer.cc.

References XrdFrm::Config(), XrdSysError::Emsg(), XrdFrmRequest::LFN, XrdFrmConfig::ossFS, XrdFrmXfrJob::PFN, XrdFrmXfrJob::pfnEnd, XrdOss::Rename(), XrdFrmXfrJob::reqData, XrdFrm::Say(), stat, strcpy(), and xfrP.

const char * XrdFrmTransfer::ffCheck (  )  [private]

Definition at line 287 of file XrdFrmTransfer.cc.

References checkFF(), XrdFrmXfrJob::PFN, XrdFrmXfrJob::pfnEnd, XrdFrmXfrJob::RetCode, strcpy(), and xfrP.

Referenced by Fetch(), and Throw().

void XrdFrmTransfer::ffMake ( int  nofile = 0  )  [private]

Definition at line 302 of file XrdFrmTransfer.cc.

References close, open, XrdFrmXfrJob::PFN, XrdFrmXfrJob::pfnEnd, S_IRGRP, S_IROTH, S_IRUSR, S_IWUSR, strcpy(), and xfrP.

Referenced by Fetch(), and Throw().

int XrdFrmTransfer::SetupCmd ( XrdFrmTranArg aP  )  [private]

Definition at line 364 of file XrdFrmTransfer.cc.

References XrdFrm::CID, cmdBuff, CMS_CID, XrdFrm::Config(), XrdSysError::Emsg(), XrdFrmCID::Get(), i, XrdFrmRequest::ID, Info, k, XrdFrmRequest::LFN, XrdFrmRequest::LFO, XrdFrmRequest::makeRW, XrdOucMsubs::maxElem, n, XrdFrmRequest::Options, XrdFrmXfrJob::PFN, XrdFrmRequest::Prty, XrdOucEnv::Put(), XrdFrmXfrJob::reqData, XrdFrm::Say(), XrdOucProg::Setup(), strcpy(), XrdOucMsubs::Subs(), XrdFrmConfig::the_N2N, XrdFrmTranArg::theCmd, XrdFrmTranArg::theDst, XrdFrmTranArg::theEnv, XrdFrmTranArg::theINS, XrdFrmTranArg::theMDP, XrdFrmTranArg::theSrc, XrdFrmTranArg::theVec, XrdFrmRequest::User, xfrP, and XRD_INS.

Referenced by Fetch(), and Throw().

int XrdFrmTransfer::TrackDC ( char *  Lfn,
char *  Mdp,
char *  Rfn 
) [private]

Definition at line 449 of file XrdFrmTransfer.cc.

References XrdOucHash< T >::Find(), XrdSysMutex::Lock(), n, pMutex, pTab, rindex, sprintf(), and XrdSysMutex::UnLock().

Referenced by Throw().

int XrdFrmTransfer::TrackDC ( char *  Rfn  )  [private]

Definition at line 490 of file XrdFrmTransfer.cc.

References XrdOucHash< T >::Add(), Hash_data_is_key, XrdSysMutex::Lock(), pMutex, pTab, rindex, and XrdSysMutex::UnLock().

const char * XrdFrmTransfer::Throw (  )  [private]

Definition at line 512 of file XrdFrmTransfer.cc.

References XrdFrmRequest::addTOD, XrdFrmConfig::cmdMDP, XrdFrmConfig::cmdStats, XrdFrm::Config(), XrdSysError::Emsg(), ffCheck(), ffMake(), XrdFrmRequest::iName, XrdFrmRequest::LFN, XrdFrmRequest::LFO, XrdFrmRequest::Migrate, XrdFrmRequest::Opaque, XrdFrmRequest::Options, XrdFrmConfig::Cmd::Opts, XrdFrmXfrJob::PFN, XrdFrmXfrJob::pfnEnd, XrdFrmRequest::Purge, XrdFrmConfig::RemotePath(), XrdFrmXfrJob::reqData, XrdFrmXfrJob::reqFQ, XrdOucProg::Run(), XrdFrm::Say(), XrdSysError::Say(), SetupCmd(), sprintf(), stat, strcpy(), XrdFrmTranArg::theCmd, XrdFrmTranArg::theDst, XrdFrmTranArg::theINS, XrdFrmTranArg::theMDP, XrdFrmTranArg::theSrc, XrdFrmTranArg::theVec, XrdFrmConfig::Cmd::theVec, Throwaway(), ThrowOK(), Trace, TRACE_Debug, TrackDC(), XrdFrmRequest::User, XrdFrmConfig::xfrCmd, xfrCmd, and xfrP.

Referenced by Start().

void XrdFrmTransfer::Throwaway (  )  [private]

Definition at line 641 of file XrdFrmTransfer.cc.

References XrdFrmConfig::cmsPath, XrdFrm::Config(), DEBUG, EPNAME, XrdNetCmsNotify::Gone(), XrdFrmConfig::ossFS, XrdFrmXfrJob::PFN, XrdFrmConfig::Test, XrdOss::Unlink(), xfrP, XRDOSS_isMIG, and XRDOSS_isPFN.

Referenced by Throw().

const char * XrdFrmTransfer::ThrowOK ( XrdFrmTranChk cP  )  [private]

Definition at line 659 of file XrdFrmTransfer.cc.

References close, F_SETFD, fcntl(), FD_CLOEXEC, XrdFrmTranChk::lkfP, XrdOucSxeq::Lock, open, XrdFrmRequest::Options, XrdFrmXfrJob::PFN, XrdFrmXfrJob::pfnEnd, XrdFrmRequest::Purge, XrdFrmXfrJob::reqData, XrdOssLock::Serialize(), XrdFrmTranChk::Stat, stat, strcpy(), xfrP, XrdOssDIR, XrdOssEXC, and XrdOssNOWAIT.

Referenced by Throw().


Member Data Documentation

XrdSysMutex XrdFrmTransfer::pMutex [static, private]

Definition at line 51 of file XrdFrmTransfer.hh.

Referenced by TrackDC().

XrdOucHash< char > XrdFrmTransfer::pTab [static, private]

Definition at line 52 of file XrdFrmTransfer.hh.

Referenced by TrackDC().

XrdOucProg* XrdFrmTransfer::xfrCmd[4] [private]

Definition at line 54 of file XrdFrmTransfer.hh.

Referenced by Fetch(), Throw(), and XrdFrmTransfer().

XrdFrmXfrJob* XrdFrmTransfer::xfrP [private]

Definition at line 55 of file XrdFrmTransfer.hh.

Referenced by Fetch(), ffCheck(), ffMake(), SetupCmd(), Start(), Throw(), Throwaway(), and ThrowOK().

char XrdFrmTransfer::cmdBuff[4096] [private]

Definition at line 56 of file XrdFrmTransfer.hh.

Referenced by SetupCmd().


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