#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] |