#include <XrdFrmTransfer.hh>
| 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 | |
| XrdOucProg * | xfrCmd [4] | 
| XrdFrmXfrJob * | xfrP | 
| char | cmdBuff [4096] | 
| Static Private Attributes | |
| static XrdSysMutex | pMutex | 
| static XrdOucHash< char > | pTab | 
Definition at line 25 of file XrdFrmTransfer.hh.
| 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.
| 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.
| 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.
| 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.
| 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().
| XrdSysMutex XrdFrmTransfer::pMutex  [static, private] | 
| XrdOucHash< char > XrdFrmTransfer::pTab  [static, private] | 
| 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] | 
 1.5.1
 1.5.1