![]() |
XRootD
|
Copy the data from one point to another. More...
#include <XrdClCopyProcess.hh>
Public Member Functions | |
CopyProcess () | |
Constructor. More... | |
virtual | ~CopyProcess () |
Destructor. More... | |
XRootDStatus | AddJob (const PropertyList &properties, PropertyList *results) |
XRootDStatus | Prepare () |
XRootDStatus | Run (CopyProgressHandler *handler) |
Run the copy jobs. More... | |
Copy the data from one point to another.
Definition at line 107 of file XrdClCopyProcess.hh.
XrdCl::CopyProcess::CopyProcess | ( | ) |
Constructor.
Definition at line 212 of file XrdClCopyProcess.cc.
|
virtual |
Destructor.
Definition at line 219 of file XrdClCopyProcess.cc.
XRootDStatus XrdCl::CopyProcess::AddJob | ( | const PropertyList & | properties, |
PropertyList * | results | ||
) |
Add job
properties | job configuration parameters |
results | placeholder for the results |
Configuration properties: source [string] - original source URL target [string] - target directory or file sourceLimit [uint16_t] - maximum number sources force [bool] - overwrite target if exists posc [bool] - persistify only on successful close coerce [bool] - ignore locking semantics on destination makeDir [bool] - create path to the file if it doesn't exist thirdParty [string] - "first" try third party copy, if it fails try normal copy; "only" only try third party copy checkSumMode [string] - "none" - no checksumming "end2end" - end to end checksumming "source" - calculate checksum at source "target" - calculate checksum at target checkSumType [string] - type of the checksum to be used checkSumPreset [string] - checksum preset chunkSize [uint32_t] - size of a copy chunks in bytes parallelChunks [uint8_t] - number of chunks that should be requested in parallel initTimeout [uint16_t] - time limit for successfull initialization of the copy job tpcTimeout [uint16_t] - time limit for the actual copy to finish dynamicSource [bool] - support for the case where the size source file may change during reading process
Configuration job - this is a job that that is supposed to configure the copy process as a whole instead of adding a copy job:
jobType [string] - "configuration" - for configuraion parallel [uint8_t] - nomber of copy jobs to be run in parallel
Results: sourceCheckSum [string] - checksum at source, if requested targetCheckSum [string] - checksum at target, if requested size [uint64_t] - file size status [XRootDStatus] - status of the copy operation sources [vector<string>] - all sources used realTarget [string] - the actual disk server target
Definition at line 228 of file XrdClCopyProcess.cc.
References XrdCl::PropertyList::begin(), XrdCl::DefaultCPChunkSize, XrdCl::DefaultCPInitTimeout, XrdCl::DefaultCPParallelChunks, XrdCl::DefaultCPTimeout, XrdCl::DefaultCPTPCTimeout, XrdCl::DefaultXCpBlockSize, XrdCl::DefaultXRateThreshold, XrdCl::PropertyList::end(), XrdCl::errInvalidArgs, XrdCl::PropertyList::Get(), XrdCl::DefaultEnv::GetEnv(), XrdCl::Env::GetInt(), XrdCl::DefaultEnv::GetLog(), XrdCl::PropertyList::HasProperty(), XrdCl::Utils::LogPropertyList(), XrdCl::CopyProcessImpl::pJobProperties, XrdCl::CopyProcessImpl::pJobResults, XrdCl::PropertyList::Set(), XrdCl::stError, and XrdCl::UtilityMsg.
Referenced by DoCat(), and main().
XRootDStatus XrdCl::CopyProcess::Prepare | ( | ) |
Definition at line 366 of file XrdClCopyProcess.cc.
References XrdCl::Log::Debug(), XrdCl::errInvalidArgs, XrdCl::PropertyList::Get(), XrdCl::RedirectorRegistry::Get(), XrdCl::DefaultEnv::GetLog(), XrdCl::URL::GetParams(), XrdCl::URL::GetPath(), XrdCl::URL::GetProtocol(), XrdCl::VirtualRedirector::GetTargetName(), XrdCl::URL::GetURL(), XrdCl::PropertyList::HasProperty(), XrdCl::RedirectorRegistry::Instance(), XrdCl::URL::IsMetalink(), XrdCl::Status::IsOK(), XrdCl::URL::IsValid(), XrdCl::CopyProcessImpl::pJobProperties, XrdCl::CopyProcessImpl::pJobResults, XrdCl::CopyProcessImpl::pJobs, XrdCl::RedirectorRegistry::RegisterAndWait(), XrdCl::PropertyList::Set(), XrdCl::URL::SetPath(), XrdCl::stError, and XrdCl::UtilityMsg.
Referenced by DoCat(), and main().
XRootDStatus XrdCl::CopyProcess::Run | ( | CopyProgressHandler * | handler | ) |
Run the copy jobs.
Definition at line 502 of file XrdClCopyProcess.cc.
References XrdCl::errOSError, XrdCl::JobManager::Finalize(), XrdCl::PropertyList::Get(), XrdCl::PropertyList::HasProperty(), XrdCl::JobManager::Initialize(), XrdCl::Status::IsOK(), XrdCl::CopyProcessImpl::pJobProperties, XrdCl::CopyProcessImpl::pJobs, XrdCl::JobManager::QueueJob(), XrdCl::JobManager::Start(), XrdCl::stError, XrdCl::JobManager::Stop(), and XrdSysSemaphore::Wait().
Referenced by DoCat(), and main().