#include "XrdClient/XrdClientUrlInfo.hh"
#include "XrdSys/XrdSysPthread.hh"
#include "XrdClient/XrdClient.hh"
#include "XrdClient/XrdCpMthrQueue.hh"
#include "XrdClient/XrdClientDebug.hh"
#include "XrdClient/XrdCpWorkLst.hh"
#include "XrdClient/XrdClientEnv.hh"
#include "XrdSys/XrdSysPlatform.hh"
#include <XrdCrypto/XrdCryptoFactory.hh>
#include <XrdCrypto/XrdCryptoMsgDigest.hh>
#include "XrdClient/XrdClientAbsMonIntf.hh"
#include "XrdClient/XrdcpXtremeRead.hh"
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/time.h>
#include <unistd.h>
#include <dlfcn.h>
#include <stdarg.h>
#include <stdio.h>
Go to the source code of this file.
Classes | |
struct | XrdCpInfo |
struct | xtreme_threadnfo |
Defines | |
#define | COUT(s) |
#define | CERR(s) |
#define | XRDCP_BLOCKSIZE (8*1024*1024) |
#define | XRDCP_XRDRASIZE (30*XRDCP_BLOCKSIZE) |
#define | XRDCP_VERSION "(C) 2004-2010 by the Xrootd group. $Revision$ - Xrootd version: "XrdVSTRING |
#define | LOC_WR_FLAGS_FORCE ( O_CREAT | O_WRONLY | O_TRUNC | O_BINARY ); |
#define | LOC_WR_FLAGS ( O_CREAT | O_WRONLY | O_EXCL | O_BINARY ); |
Functions | |
void | cout_print (const char *format,...) |
void | cerr_print (const char *format,...) |
void | print_summary (const char *src, const char *dst, unsigned long long bytesread, unsigned int adler) |
void | print_progbar (unsigned long long bytesread, unsigned long long size) |
void | print_chksum (const char *src, unsigned long long bytesread, unsigned adler) |
void * | ReaderThread_xrd (void *) |
void * | ReaderThread_xrd_xtreme (void *parm) |
void * | ReaderThread_loc (void *) |
int | CreateDestPath_loc (XrdOucString path, bool isdir) |
void | BuildFullDestFilename (XrdOucString &src, XrdOucString &dest, bool destisdir) |
int | CreateDestPath_xrd (XrdOucString url, bool isdir) |
int | doCp_xrd2xrd (XrdClient **xrddest, const char *src, const char *dst) |
XrdClient * | BWMToken_Init (const char *bwmhost, const char *srcurl, const char *dsturl) |
bool | BWMToken_WaitFor (XrdClient *cli) |
int | doCp_xrd2loc (const char *src, const char *dst) |
int | doCp_loc2xrd (XrdClient **xrddest, const char *src, const char *dst) |
void | PrintUsage () |
int | main (int argc, char **argv) |
Variables | |
const char * | XrdcpCVSID = "$Id: Xrdcp.cc 38011 2011-02-08 18:35:57Z ganis $" |
XrdCpInfo | cpnfo |
bool | summary = false |
bool | progbar = true |
bool | md5 = false |
bool | adlerchk = false |
XrdOucString | monlibname = "libXrdCpMonitorClient.so" |
char * | srcopaque = 0 |
char * | dstopaque = 0 |
kXR_unt16 | xrd_wr_flags = kXR_async | kXR_mkpath | kXR_open_updt | kXR_new |
int | loc_wr_flags = LOC_WR_FLAGS |
bool | recurse = false |
char | BWMHost [1024] |
bool | doXtremeCp = false |
XrdOucString | XtremeCpRdr |
timeval | abs_start_time |
timeval | abs_stop_time |
timezone | tz |
unsigned int | adler = 0 |
#define CERR | ( | s | ) |
Value:
do { \ cerr_print s; \ } while (0)
Definition at line 73 of file Xrdcp.cc.
Referenced by main(), and print_progbar().
#define COUT | ( | s | ) |
Value:
do { \ cout_print s; \ } while (0)
Definition at line 69 of file Xrdcp.cc.
Referenced by print_summary().
#define LOC_WR_FLAGS ( O_CREAT | O_WRONLY | O_EXCL | O_BINARY ); |
#define LOC_WR_FLAGS_FORCE ( O_CREAT | O_WRONLY | O_TRUNC | O_BINARY ); |
#define XRDCP_BLOCKSIZE (8*1024*1024) |
Definition at line 89 of file Xrdcp.cc.
Referenced by doCp_xrd2loc(), doCp_xrd2xrd(), ReaderThread_loc(), ReaderThread_xrd(), and ReaderThread_xrd_xtreme().
#define XRDCP_VERSION "(C) 2004-2010 by the Xrootd group. $Revision$ - Xrootd version: "XrdVSTRING |
#define XRDCP_XRDRASIZE (30*XRDCP_BLOCKSIZE) |
void BuildFullDestFilename | ( | XrdOucString & | src, | |
XrdOucString & | dest, | |||
bool | destisdir | |||
) |
Definition at line 462 of file Xrdcp.cc.
References XrdOucString::erase(), XrdOucString::find(), XrdOucString::rfind(), and STR_NPOS.
Referenced by main().
XrdClient* BWMToken_Init | ( | const char * | bwmhost, | |
const char * | srcurl, | |||
const char * | dsturl | |||
) |
Definition at line 743 of file Xrdcp.cc.
References XrdClientUrlInfo::File, XrdClientUrlInfo::Host, kXR_open_updt, XrdClient::Open(), s, and strcpy().
Referenced by doCp_xrd2loc().
bool BWMToken_WaitFor | ( | XrdClient * | cli | ) |
Definition at line 787 of file Xrdcp.cc.
References buf, XrdClient::IsOpen(), kXR_Qvisa, and XrdClientAbs::Query().
Referenced by doCp_xrd2loc().
int CreateDestPath_loc | ( | XrdOucString | path, | |
bool | isdir | |||
) |
int CreateDestPath_xrd | ( | XrdOucString | url, | |
bool | isdir | |||
) |
Definition at line 474 of file Xrdcp.cc.
References XrdOucString::c_str(), XrdClientAdmin::Connect(), XrdOucString::erase(), FALSE, flags, XrdClientAbs::GetCurrentUrl(), XrdClientUrlInfo::Host, id, Info, XrdClientUrlInfo::IsValid(), XrdClientDebug::kHIDEBUG, kXR_isDir, kXR_other, kXR_xset, XrdClientAdmin::Mkdir(), XrdClientUrlInfo::Port, XrdOucString::rfind(), size, XrdClientAdmin::Stat(), TRUE, and u.
int doCp_loc2xrd | ( | XrdClient ** | xrddest, | |
const char * | src, | |||
const char * | dst | |||
) |
Definition at line 1020 of file Xrdcp.cc.
References abs_start_time, abs_stop_time, adler32(), adlerchk, buf, close, cpnfo, free(), fstat, gettimeofday(), kXR_gr, kXR_gw, kXR_or, kXR_ur, kXR_uw, len, XrdCpInfo::localfile, md5, O_BINARY, open, PedanticOpen4Write(), print_chksum(), print_progbar(), print_summary(), PrintLastServerError(), progbar, pthread_cancel(), pthread_join(), ReaderThread_loc(), XrdSysThread::Run(), size, stat, strerror(), summary, tz, and xrd_wr_flags.
Referenced by main().
int doCp_xrd2loc | ( | const char * | src, | |
const char * | dst | |||
) |
Definition at line 803 of file Xrdcp.cc.
References abs_start_time, abs_stop_time, adler32(), adlerchk, XrdXtRdFile::AllDone(), buf, BWMHost, BWMToken_Init(), BWMToken_WaitFor(), close, XrdClient::Close(), cpnfo, doXtremeCp, free(), XrdCpMthrQueue::GetBuffer(), XrdCpMthrQueue::GetLength(), XrdXtRdFile::GetListOfSources(), XrdXtRdFile::GetNBlks(), XrdClientVector< T >::GetSize(), gettimeofday(), XrdXtRdFile::GimmeANewClientIdx(), i, kXR_async, kXR_ok, XrdClientAbs::LastServerResp(), len, XrdCpInfo::len, loc_wr_flags, lseek, md5, XrdCpInfo::mon, open, XrdClient::Open(), print_chksum(), print_progbar(), print_summary(), PrintLastServerError(), progbar, pthread_cancel(), pthread_join(), XrdClientAbsMonIntf::PutProgressInfo(), XrdCpInfo::queue, ReaderThread_xrd(), ReaderThread_xrd_xtreme(), XrdSysThread::Run(), S_IRGRP, S_IROTH, S_IRUSR, S_IWGRP, S_IWUSR, SEEK_SET, size, stat, XrdClient::Stat(), ServerResponseHeader::status, STDOUT_FILENO, strerror(), summary, tz, u, write, XrdCpInfo::XrdCli, XRDCP_BLOCKSIZE, xrdmax, xrdmin, and XtremeCpRdr.
Referenced by main().
int doCp_xrd2xrd | ( | XrdClient ** | xrddest, | |
const char * | src, | |||
const char * | dst | |||
) |
Definition at line 542 of file Xrdcp.cc.
References abs_start_time, abs_stop_time, adler32(), adlerchk, XrdXtRdFile::AllDone(), buf, cpnfo, doXtremeCp, free(), XrdCpMthrQueue::GetBuffer(), XrdCpMthrQueue::GetLength(), XrdXtRdFile::GetListOfSources(), XrdXtRdFile::GetNBlks(), XrdClientVector< T >::GetSize(), gettimeofday(), XrdXtRdFile::GimmeANewClientIdx(), i, kXR_async, kXR_gr, kXR_gw, kXR_ok, kXR_or, kXR_ur, kXR_uw, XrdClientAbs::LastServerResp(), len, XrdCpInfo::len, md5, XrdCpInfo::mon, XrdClient::Open(), PedanticOpen4Write(), print_chksum(), print_progbar(), print_summary(), PrintLastServerError(), progbar, pthread_cancel(), pthread_join(), XrdClientVector< T >::Push_back(), XrdClientAbsMonIntf::PutProgressInfo(), XrdCpInfo::queue, ReaderThread_xrd(), ReaderThread_xrd_xtreme(), XrdSysThread::Run(), size, stat, XrdClient::Stat(), ServerResponseHeader::status, summary, tz, xrd_wr_flags, XrdCpInfo::XrdCli, XRDCP_BLOCKSIZE, xrdmin, and XtremeCpRdr.
Referenced by main().
int main | ( | int | argc, | |
char ** | argv | |||
) |
Definition at line 1223 of file Xrdcp.cc.
References adlerchk, XrdOucString::beginswith(), BuildFullDestFilename(), BWMHost, XrdOucString::c_str(), cpnfo, CreateDestPath_loc(), d, dbglvl, DebugLevel, DebugSetLevel, XrdClientAbsMonIntf::DeInit(), dlclose(), dlerror(), dlopen(), dlsym(), doCp_loc2xrd(), doCp_xrd2loc(), doCp_xrd2xrd(), doXtremeCp, dstopaque, EnvGetLong, EnvGetString, EnvPutInt, EnvPutString, gCryptoFactory, XrdCpWorkLst::GetCpJob(), XrdCryptoFactory::GetCryptoFactory(), XrdCpWorkLst::GetDest(), XrdClientAbsMonIntf::GetMonLibInfo(), i, Info, XrdClientAbsMonIntf::Init(), XrdClientReadCache::kRmBlk_LeastOffs, XrdClientDebug::kUSERDEBUG, kXR_delete, kXR_force, kXR_new, kXR_posc, XrdCpInfo::len, loc_wr_flags, LOC_WR_FLAGS_FORCE, md5, XrdCpInfo::mon, monlibname, XrdCryptoFactory::MsgDigest(), name, NAME_CONNECTDOMAINALLOW_RE, NAME_CONNECTDOMAINDENY_RE, NAME_CONNECTTIMEOUT, NAME_DEBUG, NAME_FIRSTCONNECTMAXCNT, NAME_MULTISTREAMCNT, NAME_PURGEWRITTENBLOCKS, NAME_READAHEADSIZE, NAME_READCACHEBLKREMPOLICY, NAME_READCACHESIZE, NAME_REDIRDOMAINALLOW_RE, NAME_REDIRDOMAINDENY_RE, NAME_SOCKS4HOST, NAME_SOCKS4PORT, XrdMonCtrCollector::port, PrintLastServerError(), PrintUsage(), progbar, XrdClientAbsMonIntf::PutProgressInfo(), recurse, retval, XrdCpWorkLst::SetDest(), XrdCpWorkLst::SetSrc(), srcopaque, strerror(), summary, xrd_wr_flags, XrdCpInfo::XrdCli, XRDCP_VERSION, XRDCP_XRDRASIZE, xrdmax, xrdmin, and XtremeCpRdr.
Definition at line 192 of file Xrdcp.cc.
References adlerchk, XrdCryptoBasic::AsHexString(), XrdOucString::erase(), and XrdOucString::rfind().
Referenced by doCp_loc2xrd(), doCp_xrd2loc(), and doCp_xrd2xrd().
Definition at line 172 of file Xrdcp.cc.
References abs_start_time, abs_stop_time, CERR, and l.
Referenced by doCp_loc2xrd(), doCp_xrd2loc(), and doCp_xrd2xrd().
void print_summary | ( | const char * | src, | |
const char * | dst, | |||
unsigned long long | bytesread, | |||
unsigned int | adler | |||
) |
Definition at line 139 of file Xrdcp.cc.
References abs_start_time, abs_stop_time, adlerchk, XrdCryptoBasic::AsHexString(), XrdOucString::c_str(), COUT, XrdOucString::erase(), gettimeofday(), md5, XrdOucString::rfind(), and tz.
Referenced by doCp_loc2xrd(), doCp_xrd2loc(), doCp_xrd2xrd(), and main().
void* ReaderThread_loc | ( | void * | ) |
Definition at line 401 of file Xrdcp.cc.
References XrdCpInfo::bread, buf, cpnfo, Info, XrdClientDebug::kHIDEBUG, XrdCpInfo::localfile, malloc(), PTHREAD_CANCEL_DEFERRED, PTHREAD_CANCEL_ENABLE, pthread_setcancelstate(), pthread_setcanceltype(), XrdCpMthrQueue::PutBuffer(), XrdCpInfo::queue, read, and XRDCP_BLOCKSIZE.
Referenced by doCp_loc2xrd().
void* ReaderThread_xrd | ( | void * | ) |
Definition at line 216 of file Xrdcp.cc.
References XrdCpInfo::bread, buf, cpnfo, Info, XrdClientDebug::kHIDEBUG, len, XrdCpInfo::len, malloc(), PTHREAD_CANCEL_DEFERRED, PTHREAD_CANCEL_DISABLE, PTHREAD_CANCEL_ENABLE, pthread_setcancelstate(), pthread_setcanceltype(), pthread_testcancel(), XrdCpMthrQueue::PutBuffer(), XrdCpInfo::queue, XrdClient::Read(), XrdClient::RemoveDataFromCache(), XrdCpInfo::XrdCli, XRDCP_BLOCKSIZE, and xrdmin.
Referenced by doCp_xrd2loc(), and doCp_xrd2xrd().
void* ReaderThread_xrd_xtreme | ( | void * | parm | ) |
Definition at line 288 of file Xrdcp.cc.
References XrdXtRdFile::AllDone(), buf, xtreme_threadnfo::cli, xtreme_threadnfo::clientidx, cpnfo, free(), XrdXtRdFile::GetBlkToPrefetch(), XrdXtRdFile::GetBlkToRead(), Info, XrdClient::IsOpen_wait(), XrdClientDebug::kHIDEBUG, kOK, XrdClientReadCache::kRmBlk_FIFO, XrdXtRdBlkInfo::len, Rgl::lr, malloc(), XrdXtRdFile::MarkBlkAsRead(), xtreme_threadnfo::maxoutstanding, XrdXtRdBlkInfo::offs, XrdClient::Open(), PTHREAD_CANCEL_DEFERRED, PTHREAD_CANCEL_DISABLE, PTHREAD_CANCEL_ENABLE, pthread_setcancelstate(), pthread_setcanceltype(), pthread_testcancel(), XrdCpMthrQueue::PutBuffer(), XrdCpInfo::queue, XrdClient::Read(), XrdClient::Read_Async(), XrdClient::RemoveDataFromCache(), XrdClient::SetCacheParameters(), sleep, xtreme_threadnfo::startfromblk, XRDCP_BLOCKSIZE, xrdmin, and xtreme_threadnfo::xtrdhandler.
Referenced by doCp_xrd2loc(), and doCp_xrd2xrd().
struct timeval abs_start_time |
Definition at line 123 of file Xrdcp.cc.
Referenced by doCp_loc2xrd(), doCp_xrd2loc(), doCp_xrd2xrd(), main(), print_progbar(), and print_summary().
struct timeval abs_stop_time |
Definition at line 124 of file Xrdcp.cc.
Referenced by doCp_loc2xrd(), doCp_xrd2loc(), doCp_xrd2xrd(), print_progbar(), and print_summary().
unsigned int adler = 0 |
Definition at line 134 of file Xrdcp.cc.
Referenced by globus_l_gfs_posix_cksm_adler32(), and main().
bool adlerchk = false |
Definition at line 99 of file Xrdcp.cc.
Referenced by doCp_loc2xrd(), doCp_xrd2loc(), doCp_xrd2xrd(), main(), print_chksum(), and print_summary().
char BWMHost[1024] |
Referenced by doCp_loc2xrd(), doCp_xrd2loc(), doCp_xrd2xrd(), main(), ReaderThread_loc(), ReaderThread_xrd(), and ReaderThread_xrd_xtreme().
bool doXtremeCp = false |
int loc_wr_flags = LOC_WR_FLAGS |
bool md5 = false |
Definition at line 98 of file Xrdcp.cc.
Referenced by memstat::TMemStatMng::AddPointer(), TProof::BuildPackageOnClient(), TApplicationRemote::CheckFile(), TProof::CheckFile(), TMacro::Checksum(), TProofLite::CopyMacroToCache(), TDataSetManagerFile::CreateLsFile(), doCp_loc2xrd(), doCp_xrd2loc(), doCp_xrd2xrd(), TMD5::FileChecksum(), TAlienCollection::GetFileCollection(), TAlienResult::GetFileInfoList(), TGLiteResult::GetFileInfoList(), TUUID::GetRandomInfo(), TProofServ::HandleCheckFile(), TApplicationServer::HandleCheckFile(), main(), operator>>(), print_summary(), TMD5::ReadChecksum(), TMD5::TMD5(), TProof::UploadPackage(), TProof::UploadPackageOnClient(), and TMD5::WriteChecksum().
XrdOucString monlibname = "libXrdCpMonitorClient.so" |
bool progbar = true |
Definition at line 97 of file Xrdcp.cc.
Referenced by doCp_loc2xrd(), doCp_xrd2loc(), doCp_xrd2xrd(), and main().
bool summary = false |
Definition at line 96 of file Xrdcp.cc.
Referenced by benchmarks(), bexec(), bexec2(), ClassImp(), doCp_loc2xrd(), doCp_xrd2loc(), doCp_xrd2xrd(), RooStats::HistFactory::loadSavedInputs(), main(), RooStats::HistFactory::ReadXmlConfig(), and TMonaLisaWriter::SendFileCheckpoint().
Definition at line 125 of file Xrdcp.cc.
Referenced by TGeoCone::DistToCone(), TGeoCtubEditor::DoApply(), doCp_loc2xrd(), doCp_xrd2loc(), doCp_xrd2xrd(), TGHtml::GetPctWidth(), main(), print_summary(), and XrdSecProtocolssl::secServer().
kXR_unt16 xrd_wr_flags = kXR_async | kXR_mkpath | kXR_open_updt | kXR_new |
const char* XrdcpCVSID = "$Id: Xrdcp.cc 38011 2011-02-08 18:35:57Z ganis $" |