#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 * | FetchDone (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 () |
| void | ThrowDone (XrdFrmTranChk *cP, time_t endTime) |
| 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 |
| XrdFrmTransfer::XrdFrmTransfer | ( | ) |
References XrdCms::Config, Say, and xfrCmd.
| XrdFrmTransfer::~XrdFrmTransfer | ( | ) | [inline] |
| const char * XrdFrmTransfer::checkFF | ( | const char * | Path | ) | [static] |
References XrdCms::Config, DEBUG, EPNAME, XrdCmsConfig::ossFS, stat, XrdOss::Unlink(), and XRDOSS_isPFN.
Referenced by XrdFrmMigrate::Eligible(), and ffCheck().
| const char * XrdFrmTransfer::Fetch | ( | ) | [private] |
References XrdFrmRequest::addTOD, XrdCms::Config, XrdOss::Create(), DEBUG, EPNAME, FetchDone(), ffCheck(), ffMake(), XrdFrmRequest::iName, XrdFrmRequest::LFN, XrdFrmRequest::LFO, XrdFrmMonitor::Map(), XrdFrmRequest::Opaque, XrdCmsConfig::ossFS, XrdFrmXfrJob::PFN, XrdFrmXfrJob::pfnEnd, XrdFrmXfrJob::reqData, XrdFrmXfrJob::RetCode, XrdOucProg::Run(), S_IRGRP, S_IROTH, S_IRUSR, S_IWUSR, Say, SetupCmd(), snprintf, stat, strlcpy(), XrdFrmTranArg::theCmd, XrdFrmTranArg::theDst, XrdFrmTranArg::theINS, XrdFrmTranArg::theSrc, XrdFrmTranArg::theVec, XrdCms::Trace, TRACE_Debug, XrdOss::Unlink(), XrdFrmRequest::User, XrdOucTrace::What, xfrCmd, xfrP, XRDOSS_mkpath, and XROOTD_MON_MAPSTAG.
Referenced by Start().
| const char * XrdFrmTransfer::FetchDone | ( | char * | lfnpath, | |
| int & | rc, | |||
| time_t | lktime | |||
| ) | [private] |
References XrdOucXAttr< T >::Attr, XrdCms::Config, XrdFrmXAttrCpy::cpyTime, XrdFrmRequest::LFN, XrdCmsConfig::ossFS, XrdFrmXfrJob::PFN, XrdFrmXfrJob::pfnEnd, XrdOss::Rename(), XrdFrmXfrJob::reqData, Say, XrdOucXAttr< T >::Set(), stat, unlink, and xfrP.
Referenced by Fetch().
| const char * XrdFrmTransfer::ffCheck | ( | ) | [private] |
References checkFF(), XrdFrmXfrJob::PFN, XrdFrmXfrJob::pfnEnd, XrdFrmXfrJob::RetCode, and xfrP.
| void XrdFrmTransfer::ffMake | ( | int | nofile = 0 |
) | [private] |
| int XrdFrmTransfer::Init | ( | ) | [static] |
References XrdFrm::CID, XrdCms::Config, XrdFrmXfrQueue::Init(), XrdFrmCID::Init(), InitXfer(), XrdSysThread::Run(), Say, and XRDSYSTHREAD_BIND.
Referenced by XrdFrmXfrDaemon::Init().
| int XrdFrmTransfer::SetupCmd | ( | XrdFrmTranArg * | aP | ) | [private] |
References XrdFrm::CID, cmdBuff, CMS_CID, XrdCms::Config, XrdFrmCID::Get(), XrdFrmRequest::ID, Info, XrdFrmRequest::LFN, XrdFrmRequest::LFO, XrdFrmRequest::makeRW, XrdOucMsubs::maxElem, XrdFrmRequest::Options, XrdFrmXfrJob::PFN, XrdFrmRequest::Prty, XrdOucEnv::Put(), XrdFrmXfrJob::reqData, Say, XrdOucProg::Setup(), XrdOucMsubs::Subs(), XrdFrmTranArg::theCmd, XrdFrmTranArg::theDst, XrdFrmTranArg::theEnv, XrdFrmTranArg::theINS, XrdFrmTranArg::theMDP, XrdFrmTranArg::theSrc, XrdFrmTranArg::theVec, XrdFrmRequest::User, xfrP, and XRD_INS.
| void XrdFrmTransfer::Start | ( | ) |
References XrdCms::Config, DEBUG, XrdFrmXfrQueue::Done(), EPNAME, Fetch(), XrdFrmXfrQueue::Get(), XrdFrmRequest::LFN, XrdFrmRequest::outQ, XrdFrmXfrJob::PFN, XrdFrmXfrJob::pfnEnd, XrdFrmXfrJob::qNum, XrdFrmXfrJob::reqData, XrdFrmXfrJob::RetCode, Say, Throw(), XrdFrmXfrJob::Type, XrdFrmRequest::User, and xfrP.
Referenced by InitXfer().
| const char * XrdFrmTransfer::Throw | ( | ) | [private] |
References XrdFrmRequest::addTOD, XrdCms::Config, ffCheck(), ffMake(), XrdFrmRequest::iName, XrdFrmRequest::LFN, XrdFrmRequest::LFO, XrdFrmRequest::Migrate, XrdFrmRequest::Opaque, XrdFrmRequest::Options, XrdFrmXfrJob::PFN, XrdFrmRequest::Purge, XrdFrmXfrJob::reqData, XrdFrmXfrJob::reqFQ, XrdOucProg::Run(), Say, SetupCmd(), stat, XrdFrmTranArg::theCmd, XrdFrmTranArg::theDst, XrdFrmTranArg::theINS, XrdFrmTranArg::theMDP, XrdFrmTranArg::theSrc, XrdFrmTranArg::theVec, Throwaway(), ThrowDone(), ThrowOK(), XrdCms::Trace, TRACE_Debug, TrackDC(), XrdFrmRequest::User, XrdOucTrace::What, xfrCmd, and xfrP.
Referenced by Start().
| void XrdFrmTransfer::Throwaway | ( | ) | [private] |
References XrdCms::Config, DEBUG, EPNAME, XrdCmsConfig::ossFS, XrdFrmXfrJob::PFN, XrdOss::Unlink(), xfrP, XRDOSS_isMIG, and XRDOSS_isPFN.
Referenced by Throw().
| void XrdFrmTransfer::ThrowDone | ( | XrdFrmTranChk * | cP, | |
| time_t | endTime | |||
| ) | [private] |
References XrdOucXAttr< T >::Attr, XrdCms::Config, XrdFrmXAttrCpy::cpyTime, XrdFrmTranChk::lkfd, XrdFrmTranChk::lkfx, XrdFrmXfrJob::PFN, XrdFrmXfrJob::pfnEnd, Say, XrdOucXAttr< T >::Set(), stat, unlink, and xfrP.
Referenced by Throw().
| const char * XrdFrmTransfer::ThrowOK | ( | XrdFrmTranChk * | cP | ) | [private] |
References XrdOucXAttr< T >::Attr, close, XrdCms::Config, XrdFrmXAttrCpy::cpyTime, F_SETFD, fcntl(), FD_CLOEXEC, XrdOucXAttr< T >::Get(), XrdFrmTranChk::lkfd, XrdFrmTranChk::lkfx, XrdOucSxeq::noWait, open, XrdFrmRequest::Options, XrdFrmXfrJob::PFN, XrdFrmXfrJob::pfnEnd, XrdFrmRequest::Purge, XrdFrmXfrJob::reqData, XrdOucSxeq::Serialize(), XrdFrmTranChk::Stat, stat, and xfrP.
Referenced by Throw().
| int XrdFrmTransfer::TrackDC | ( | char * | Rfn | ) | [private] |
References XrdOucHash< T >::Add(), Hash_data_is_key, XrdSysMutex::Lock(), pMutex, pTab, rindex, and XrdSysMutex::UnLock().
| int XrdFrmTransfer::TrackDC | ( | char * | Lfn, | |
| char * | Mdp, | |||
| char * | Rfn | |||
| ) | [private] |
References XrdOucHash< T >::Find(), index(), XrdSysMutex::Lock(), pMutex, pTab, rindex, and XrdSysMutex::UnLock().
Referenced by Throw().
char XrdFrmTransfer::cmdBuff[4096] [private] |
Referenced by SetupCmd().
XrdSysMutex XrdFrmTransfer::pMutex [static, private] |
Referenced by TrackDC().
XrdOucHash< char > XrdFrmTransfer::pTab [static, private] |
Referenced by TrackDC().
XrdOucProg* XrdFrmTransfer::xfrCmd[4] [private] |
Referenced by Fetch(), Throw(), and XrdFrmTransfer().
XrdFrmXfrJob* XrdFrmTransfer::xfrP [private] |
Referenced by Fetch(), FetchDone(), ffCheck(), ffMake(), SetupCmd(), Start(), Throw(), Throwaway(), ThrowDone(), and ThrowOK().
1.6.2-20100208