XRootD
Loading...
Searching...
No Matches
XrdCl::Operation< HasHndl > Class Template Referenceabstract

#include <XrdClOperations.hh>

+ Inheritance diagram for XrdCl::Operation< HasHndl >:
+ Collaboration diagram for XrdCl::Operation< HasHndl >:

Public Member Functions

 Operation ()
 Constructor.
 
template<bool from>
 Operation (Operation< from > &&op)
 Move constructor between template instances.
 
virtual ~Operation ()
 Destructor.
 
virtual Operation< HasHndl > * Move ()=0
 
virtual Operation< true > * ToHandled ()=0
 
virtual std::string ToString ()=0
 Name of the operation.
 

Protected Member Functions

void AddOperation (Operation< true > *op)
 
void Run (Timeout timeout, std::promise< XRootDStatus > prms, std::function< void(const XRootDStatus &)> final)
 
virtual XRootDStatus RunImpl (PipelineHandler *handler, uint16_t timeout)=0
 

Protected Attributes

std::unique_ptr< PipelineHandlerhandler
 Operation handler.
 
bool valid
 Flag indicating if it is a valid object.
 

Friends

template<bool>
class Operation
 
std::future< XRootDStatusAsync (Pipeline pipeline, uint16_t timeout=0)
 
class Pipeline
 
class PipelineHandler
 

Detailed Description

template<bool HasHndl>
class XrdCl::Operation< HasHndl >

Operation template. An Operation is a once-use-only object - once executed by a Workflow engine it is invalidated. Also if used as an argument for

or | the original object gets invalidated.

  • HasHndl : true if operation has a handler, false otherwise

Definition at line 60 of file XrdClOperations.hh.

Constructor & Destructor Documentation

◆ Operation() [1/2]

template<bool HasHndl>
XrdCl::Operation< HasHndl >::Operation ( )
inline

Constructor.

Definition at line 76 of file XrdClOperations.hh.

76 : valid( true )
77 {
78 }
bool valid
Flag indicating if it is a valid object.

References valid.

◆ Operation() [2/2]

template<bool HasHndl>
template<bool from>
XrdCl::Operation< HasHndl >::Operation ( Operation< from > && op)
inline

Move constructor between template instances.

Definition at line 84 of file XrdClOperations.hh.

84 :
85 handler( std::move( op.handler ) ), valid( true )
86 {
87 if( !op.valid ) throw std::invalid_argument( "Cannot construct "
88 "Operation from an invalid Operation!" );
89 op.valid = false;
90 }
std::unique_ptr< PipelineHandler > handler
Operation handler.

References Operation, handler, and valid.

+ Here is the call graph for this function:

◆ ~Operation()

template<bool HasHndl>
virtual XrdCl::Operation< HasHndl >::~Operation ( )
inlinevirtual

Destructor.

Definition at line 95 of file XrdClOperations.hh.

96 {
97 }

Member Function Documentation

◆ AddOperation()

template<bool HasHndl>
void XrdCl::Operation< HasHndl >::AddOperation ( Operation< true > * op)
protected

Add next operation in the pipeline

Parameters
op: operation to add

Definition at line 774 of file XrdClOperations.hh.

775 {
776 if (handler)
777 handler->AddOperation(op);
778 }

References Operation, and handler.

Referenced by XrdCl::Pipeline::operator|=(), and XrdCl::Pipeline::operator|=().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Move()

template<bool HasHndl>
virtual Operation< HasHndl > * XrdCl::Operation< HasHndl >::Move ( )
pure virtual

Move current object into newly allocated instance

Returns
: the new instance

Implemented in XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >, XrdCl::ConcreteOperation< AppendFileImpl, HasHndl, Resp< void >, Arguments... >, XrdCl::ConcreteOperation< CheckpointImpl, HasHndl, Resp< void >, Arguments... >, XrdCl::ConcreteOperation< ChkptWrtImpl, HasHndl, Resp< void >, Arguments... >, XrdCl::ConcreteOperation< ChkptWrtVImpl, HasHndl, Resp< void >, Arguments... >, XrdCl::ConcreteOperation< ChModImpl, HasHndl, Resp< void >, Args... >, XrdCl::ConcreteOperation< CloseArchiveImpl, HasHndl, Resp< void >, Arguments... >, XrdCl::ConcreteOperation< CloseFileImpl, HasHndl, Resp< void >, Arguments... >, XrdCl::ConcreteOperation< CloseImpl, HasHndl, Resp< void >, Arguments... >, XrdCl::ConcreteOperation< DeepLocateImpl, HasHndl, Resp< LocationInfo >, Args... >, XrdCl::ConcreteOperation< DelXAttrBulkImpl, HasHndl, Resp< std::vector< XAttrStatus > >, Arguments... >, XrdCl::ConcreteOperation< DelXAttrFsBulkImpl, HasHndl, Resp< std::vector< XAttrStatus > >, Args... >, XrdCl::ConcreteOperation< DelXAttrFsImpl, HasHndl, Resp< void >, Args... >, XrdCl::ConcreteOperation< DelXAttrImpl, HasHndl, Resp< void >, Arguments... >, XrdCl::ConcreteOperation< Derived, HasHndl, Response, Args... >, XrdCl::ConcreteOperation< Derived, HasHndl, Response, Arguments... >, XrdCl::ConcreteOperation< DirListImpl, HasHndl, Resp< DirectoryList >, Args... >, XrdCl::ConcreteOperation< FcntlImpl, HasHndl, Resp< Buffer >, Arguments... >, XrdCl::ConcreteOperation< GetXAttrBulkImpl, HasHndl, Resp< std::vector< XAttr > >, Arguments... >, XrdCl::ConcreteOperation< GetXAttrFsBulkImpl, HasHndl, Resp< std::vector< XAttr > >, Args... >, XrdCl::ConcreteOperation< GetXAttrFsImpl, HasHndl, Resp< std::string >, Args... >, XrdCl::ConcreteOperation< GetXAttrImpl, HasHndl, Resp< std::string >, Arguments... >, XrdCl::ConcreteOperation< ListXAttrFsImpl, HasHndl, Resp< std::vector< XAttr > >, Args... >, XrdCl::ConcreteOperation< ListXAttrImpl, HasHndl, Resp< std::vector< XAttr > >, Arguments... >, XrdCl::ConcreteOperation< LocateImpl, HasHndl, Resp< LocationInfo >, Args... >, XrdCl::ConcreteOperation< MkDirImpl, HasHndl, Resp< void >, Args... >, XrdCl::ConcreteOperation< MvImpl, HasHndl, Resp< void >, Args... >, XrdCl::ConcreteOperation< OpenArchiveImpl, HasHndl, Resp< void >, Arguments... >, XrdCl::ConcreteOperation< OpenFileImpl, HasHndl, Resp< void >, Arguments... >, XrdCl::ConcreteOperation< OpenImpl, HasHndl, Resp< void >, Arguments... >, XrdCl::ConcreteOperation< OpenOnlyImpl, HasHndl, XrdCl::Resp< void >, Arguments... >, XrdCl::ConcreteOperation< ParallelOperation, HasHndl, Resp< void > >, XrdCl::ConcreteOperation< PgReadImpl, HasHndl, Resp< PageInfo >, Arguments... >, XrdCl::ConcreteOperation< PgWriteImpl, HasHndl, Resp< void >, Arguments... >, XrdCl::ConcreteOperation< PingImpl, HasHndl, Resp< void >, Args... >, XrdCl::ConcreteOperation< PrepareImpl, HasHndl, Resp< Buffer >, Args... >, XrdCl::ConcreteOperation< ProtocolImpl, HasHndl, Resp< ProtocolInfo >, Args... >, XrdCl::ConcreteOperation< QueryImpl, HasHndl, Resp< Buffer >, Args... >, XrdCl::ConcreteOperation< ReadImpl, HasHndl, Resp< ChunkInfo >, Arguments... >, XrdCl::ConcreteOperation< RmDirImpl, HasHndl, Resp< void >, Args... >, XrdCl::ConcreteOperation< RmImpl, HasHndl, Resp< void >, Args... >, XrdCl::ConcreteOperation< SendInfoImpl, HasHndl, Resp< Buffer >, Args... >, XrdCl::ConcreteOperation< SetXAttrBulkImpl, HasHndl, Resp< std::vector< XAttrStatus > >, Arguments... >, XrdCl::ConcreteOperation< SetXAttrFsBulkImpl, HasHndl, Resp< std::vector< XAttrStatus > >, Args... >, XrdCl::ConcreteOperation< SetXAttrFsImpl, HasHndl, Resp< void >, Args... >, XrdCl::ConcreteOperation< SetXAttrImpl, HasHndl, Resp< void >, Arguments... >, XrdCl::ConcreteOperation< StatFsImpl, HasHndl, Resp< StatInfo >, Args... >, XrdCl::ConcreteOperation< StatImpl, HasHndl, Resp< StatInfo >, Arguments... >, XrdCl::ConcreteOperation< StatVFSImpl, HasHndl, Resp< StatInfoVFS >, Args... >, XrdCl::ConcreteOperation< SyncImpl, HasHndl, Resp< void >, Arguments... >, XrdCl::ConcreteOperation< TruncateFsImpl, HasHndl, Resp< void >, Args... >, XrdCl::ConcreteOperation< TruncateImpl, HasHndl, Resp< void >, Arguments... >, XrdCl::ConcreteOperation< VectorReadImpl, HasHndl, Resp< VectorReadInfo >, Arguments... >, XrdCl::ConcreteOperation< VectorWriteImpl, HasHndl, Resp< void >, Arguments... >, XrdCl::ConcreteOperation< VisaImpl, HasHndl, Resp< Buffer >, Arguments... >, XrdCl::ConcreteOperation< WriteImpl, HasHndl, Resp< void >, Arguments... >, XrdCl::ConcreteOperation< WriteVImpl, HasHndl, Resp< void >, Arguments... >, XrdCl::ConcreteOperation< ZipListImpl, HasHndl, Resp< DirectoryList >, Arguments... >, XrdCl::ConcreteOperation< ZipReadFromImpl, HasHndl, Resp< ChunkInfo >, Arguments... >, XrdCl::ConcreteOperation< ZipReadImpl, HasHndl, Resp< ChunkInfo >, Arguments... >, XrdCl::ConcreteOperation< ZipStatImpl, HasHndl, Resp< StatInfo >, Arguments... >, and XrdCl::ConcreteOperation< ZipWriteImpl, HasHndl, Resp< void >, Arguments... >.

References Operation.

Referenced by XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >::PipeImpl().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Run()

template<bool HasHndl>
void XrdCl::Operation< HasHndl >::Run ( Timeout timeout,
std::promise< XRootDStatus > prms,
std::function< void(const XRootDStatus &)> final )
protected

Run operation

Parameters
prms: the promise that we will have a result
final: the object to call at the end of pipeline

Definition at line 748 of file XrdClOperations.hh.

750 {
751 static_assert(HasHndl, "Only an operation that has a handler can be assigned to workflow");
752
754 handler->Assign(timeout, std::move(prms), std::move(f), this);
755 PipelineHandler *h = handler.release();
756
757 try {
758 st = RunImpl(h, timeout);
759 } catch (const operation_expired &ex) {
761 } catch (const PipelineException &ex) { // probably not needed
762 st = ex.GetError();
763 } catch (const std::exception &ex) {
764 st = XRootDStatus(stError, errInternal, 0, ex.what());
765 }
766
767 if (!st.IsOK()) {
768 ResponseJob *job = new ResponseJob(h, new XRootDStatus(st), 0, nullptr);
770 }
771 }
static PostMaster * GetPostMaster()
Get default post master.
void QueueJob(Job *job, void *arg=0)
Add a job to be run.
friend class PipelineHandler
virtual XRootDStatus RunImpl(PipelineHandler *handler, uint16_t timeout)=0
JobManager * GetJobManager()
Get the job manager object user by the post master.

References XrdCl::errInternal, XrdCl::errOperationExpired, XrdCl::PostMaster::GetJobManager(), XrdCl::DefaultEnv::GetPostMaster(), handler, XrdCl::Status::IsOK(), PipelineHandler, XrdCl::JobManager::QueueJob(), RunImpl(), and XrdCl::stError.

+ Here is the call graph for this function:

◆ RunImpl()

template<bool HasHndl>
virtual XRootDStatus XrdCl::Operation< HasHndl >::RunImpl ( PipelineHandler * handler,
uint16_t timeout )
protectedpure virtual

Run the actual operation

Parameters
params: container with parameters forwarded from previous operation
Returns
: status of the operation

Implemented in XrdCl::AppendFileImpl< HasHndl >, XrdCl::CheckpointImpl< HasHndl >, XrdCl::ChkptWrtImpl< HasHndl >, XrdCl::ChkptWrtVImpl< HasHndl >, XrdCl::ChModImpl< HasHndl >, XrdCl::ChModImpl< false >, XrdCl::ChModImpl< false >, XrdCl::CloseArchiveImpl< HasHndl >, XrdCl::CloseFileImpl< HasHndl >, XrdCl::CloseFileImpl< false >, XrdCl::CloseFileImpl< false >, XrdCl::CloseImpl< HasHndl >, XrdCl::DeepLocateImpl< HasHndl >, XrdCl::DeepLocateImpl< false >, XrdCl::DeepLocateImpl< false >, XrdCl::DelXAttrBulkImpl< HasHndl >, XrdCl::DelXAttrFsBulkImpl< HasHndl >, XrdCl::DelXAttrFsImpl< HasHndl >, XrdCl::DelXAttrImpl< HasHndl >, XrdCl::DirListImpl< HasHndl >, XrdCl::DirListImpl< false >, XrdCl::DirListImpl< false >, XrdCl::FcntlImpl< HasHndl >, XrdCl::FcntlImpl< false >, XrdCl::FcntlImpl< false >, XrdCl::GetXAttrBulkImpl< HasHndl >, XrdCl::GetXAttrFsBulkImpl< HasHndl >, XrdCl::GetXAttrFsImpl< HasHndl >, XrdCl::GetXAttrImpl< HasHndl >, XrdCl::ListXAttrFsImpl< HasHndl >, XrdCl::ListXAttrImpl< HasHndl >, XrdCl::LocateImpl< HasHndl >, XrdCl::LocateImpl< false >, XrdCl::LocateImpl< false >, XrdCl::MkDirImpl< HasHndl >, XrdCl::MkDirImpl< false >, XrdCl::MkDirImpl< false >, XrdCl::MvImpl< HasHndl >, XrdCl::MvImpl< false >, XrdCl::MvImpl< false >, XrdCl::OpenArchiveImpl< HasHndl >, XrdCl::OpenFileImpl< HasHndl >, XrdCl::OpenImpl< HasHndl >, XrdCl::PgReadImpl< HasHndl >, XrdCl::PgReadImpl< false >, XrdCl::PgReadImpl< false >, XrdCl::PgWriteImpl< HasHndl >, XrdCl::PingImpl< HasHndl >, XrdCl::PingImpl< false >, XrdCl::PingImpl< false >, XrdCl::PrepareImpl< HasHndl >, XrdCl::PrepareImpl< false >, XrdCl::PrepareImpl< false >, XrdCl::ProtocolImpl< HasHndl >, XrdCl::ProtocolImpl< false >, XrdCl::ProtocolImpl< false >, XrdCl::QueryImpl< HasHndl >, XrdCl::QueryImpl< false >, XrdCl::QueryImpl< false >, XrdCl::ReadImpl< HasHndl >, XrdCl::ReadImpl< false >, XrdCl::ReadImpl< false >, XrdCl::RmDirImpl< HasHndl >, XrdCl::RmDirImpl< false >, XrdCl::RmDirImpl< false >, XrdCl::RmImpl< HasHndl >, XrdCl::RmImpl< false >, XrdCl::RmImpl< false >, XrdCl::SendInfoImpl< HasHndl >, XrdCl::SendInfoImpl< false >, XrdCl::SendInfoImpl< false >, XrdCl::SetXAttrBulkImpl< HasHndl >, XrdCl::SetXAttrFsBulkImpl< HasHndl >, XrdCl::SetXAttrFsImpl< HasHndl >, XrdCl::SetXAttrImpl< HasHndl >, XrdCl::StatFsImpl< HasHndl >, XrdCl::StatImpl< HasHndl >, XrdCl::StatVFSImpl< HasHndl >, XrdCl::StatVFSImpl< false >, XrdCl::StatVFSImpl< false >, XrdCl::SyncImpl< HasHndl >, XrdCl::TruncateFsImpl< HasHndl >, XrdCl::TruncateImpl< HasHndl >, XrdCl::VectorReadImpl< HasHndl >, XrdCl::VectorWriteImpl< HasHndl >, XrdCl::VisaImpl< HasHndl >, XrdCl::VisaImpl< false >, XrdCl::VisaImpl< false >, XrdCl::WriteImpl< HasHndl >, XrdCl::WriteVImpl< HasHndl >, XrdCl::ZipListImpl< HasHndl >, XrdCl::ZipReadFromImpl< HasHndl >, XrdCl::ZipReadImpl< HasHndl >, XrdCl::ZipStatImpl< HasHndl >, XrdCl::ZipWriteImpl< HasHndl >, and XrdEc::OpenOnlyImpl< HasHndl >.

References handler, and PipelineHandler.

Referenced by Run().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ToHandled()

template<bool HasHndl>
virtual Operation< true > * XrdCl::Operation< HasHndl >::ToHandled ( )
pure virtual

Move current object into newly allocated instance, and convert it into 'handled' operation.

Returns
: the new instance

Implemented in XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >, XrdCl::ConcreteOperation< AppendFileImpl, HasHndl, Resp< void >, Arguments... >, XrdCl::ConcreteOperation< CheckpointImpl, HasHndl, Resp< void >, Arguments... >, XrdCl::ConcreteOperation< ChkptWrtImpl, HasHndl, Resp< void >, Arguments... >, XrdCl::ConcreteOperation< ChkptWrtVImpl, HasHndl, Resp< void >, Arguments... >, XrdCl::ConcreteOperation< ChModImpl, HasHndl, Resp< void >, Args... >, XrdCl::ConcreteOperation< CloseArchiveImpl, HasHndl, Resp< void >, Arguments... >, XrdCl::ConcreteOperation< CloseFileImpl, HasHndl, Resp< void >, Arguments... >, XrdCl::ConcreteOperation< CloseImpl, HasHndl, Resp< void >, Arguments... >, XrdCl::ConcreteOperation< DeepLocateImpl, HasHndl, Resp< LocationInfo >, Args... >, XrdCl::ConcreteOperation< DelXAttrBulkImpl, HasHndl, Resp< std::vector< XAttrStatus > >, Arguments... >, XrdCl::ConcreteOperation< DelXAttrFsBulkImpl, HasHndl, Resp< std::vector< XAttrStatus > >, Args... >, XrdCl::ConcreteOperation< DelXAttrFsImpl, HasHndl, Resp< void >, Args... >, XrdCl::ConcreteOperation< DelXAttrImpl, HasHndl, Resp< void >, Arguments... >, XrdCl::ConcreteOperation< Derived, HasHndl, Response, Args... >, XrdCl::ConcreteOperation< Derived, HasHndl, Response, Arguments... >, XrdCl::ConcreteOperation< DirListImpl, HasHndl, Resp< DirectoryList >, Args... >, XrdCl::ConcreteOperation< FcntlImpl, HasHndl, Resp< Buffer >, Arguments... >, XrdCl::ConcreteOperation< GetXAttrBulkImpl, HasHndl, Resp< std::vector< XAttr > >, Arguments... >, XrdCl::ConcreteOperation< GetXAttrFsBulkImpl, HasHndl, Resp< std::vector< XAttr > >, Args... >, XrdCl::ConcreteOperation< GetXAttrFsImpl, HasHndl, Resp< std::string >, Args... >, XrdCl::ConcreteOperation< GetXAttrImpl, HasHndl, Resp< std::string >, Arguments... >, XrdCl::ConcreteOperation< ListXAttrFsImpl, HasHndl, Resp< std::vector< XAttr > >, Args... >, XrdCl::ConcreteOperation< ListXAttrImpl, HasHndl, Resp< std::vector< XAttr > >, Arguments... >, XrdCl::ConcreteOperation< LocateImpl, HasHndl, Resp< LocationInfo >, Args... >, XrdCl::ConcreteOperation< MkDirImpl, HasHndl, Resp< void >, Args... >, XrdCl::ConcreteOperation< MvImpl, HasHndl, Resp< void >, Args... >, XrdCl::ConcreteOperation< OpenArchiveImpl, HasHndl, Resp< void >, Arguments... >, XrdCl::ConcreteOperation< OpenFileImpl, HasHndl, Resp< void >, Arguments... >, XrdCl::ConcreteOperation< OpenImpl, HasHndl, Resp< void >, Arguments... >, XrdCl::ConcreteOperation< OpenOnlyImpl, HasHndl, XrdCl::Resp< void >, Arguments... >, XrdCl::ConcreteOperation< ParallelOperation, HasHndl, Resp< void > >, XrdCl::ConcreteOperation< PgReadImpl, HasHndl, Resp< PageInfo >, Arguments... >, XrdCl::ConcreteOperation< PgWriteImpl, HasHndl, Resp< void >, Arguments... >, XrdCl::ConcreteOperation< PingImpl, HasHndl, Resp< void >, Args... >, XrdCl::ConcreteOperation< PrepareImpl, HasHndl, Resp< Buffer >, Args... >, XrdCl::ConcreteOperation< ProtocolImpl, HasHndl, Resp< ProtocolInfo >, Args... >, XrdCl::ConcreteOperation< QueryImpl, HasHndl, Resp< Buffer >, Args... >, XrdCl::ConcreteOperation< ReadImpl, HasHndl, Resp< ChunkInfo >, Arguments... >, XrdCl::ConcreteOperation< RmDirImpl, HasHndl, Resp< void >, Args... >, XrdCl::ConcreteOperation< RmImpl, HasHndl, Resp< void >, Args... >, XrdCl::ConcreteOperation< SendInfoImpl, HasHndl, Resp< Buffer >, Args... >, XrdCl::ConcreteOperation< SetXAttrBulkImpl, HasHndl, Resp< std::vector< XAttrStatus > >, Arguments... >, XrdCl::ConcreteOperation< SetXAttrFsBulkImpl, HasHndl, Resp< std::vector< XAttrStatus > >, Args... >, XrdCl::ConcreteOperation< SetXAttrFsImpl, HasHndl, Resp< void >, Args... >, XrdCl::ConcreteOperation< SetXAttrImpl, HasHndl, Resp< void >, Arguments... >, XrdCl::ConcreteOperation< StatFsImpl, HasHndl, Resp< StatInfo >, Args... >, XrdCl::ConcreteOperation< StatImpl, HasHndl, Resp< StatInfo >, Arguments... >, XrdCl::ConcreteOperation< StatVFSImpl, HasHndl, Resp< StatInfoVFS >, Args... >, XrdCl::ConcreteOperation< SyncImpl, HasHndl, Resp< void >, Arguments... >, XrdCl::ConcreteOperation< TruncateFsImpl, HasHndl, Resp< void >, Args... >, XrdCl::ConcreteOperation< TruncateImpl, HasHndl, Resp< void >, Arguments... >, XrdCl::ConcreteOperation< VectorReadImpl, HasHndl, Resp< VectorReadInfo >, Arguments... >, XrdCl::ConcreteOperation< VectorWriteImpl, HasHndl, Resp< void >, Arguments... >, XrdCl::ConcreteOperation< VisaImpl, HasHndl, Resp< Buffer >, Arguments... >, XrdCl::ConcreteOperation< WriteImpl, HasHndl, Resp< void >, Arguments... >, XrdCl::ConcreteOperation< WriteVImpl, HasHndl, Resp< void >, Arguments... >, XrdCl::ConcreteOperation< ZipListImpl, HasHndl, Resp< DirectoryList >, Arguments... >, XrdCl::ConcreteOperation< ZipReadFromImpl, HasHndl, Resp< ChunkInfo >, Arguments... >, XrdCl::ConcreteOperation< ZipReadImpl, HasHndl, Resp< ChunkInfo >, Arguments... >, XrdCl::ConcreteOperation< ZipStatImpl, HasHndl, Resp< StatInfo >, Arguments... >, and XrdCl::ConcreteOperation< ZipWriteImpl, HasHndl, Resp< void >, Arguments... >.

References Operation.

Referenced by XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >::PipeImpl().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ToString()

template<bool HasHndl>
virtual std::string XrdCl::Operation< HasHndl >::ToString ( )
pure virtual

Name of the operation.

Implemented in XrdCl::AppendFileImpl< HasHndl >, XrdCl::CheckpointImpl< HasHndl >, XrdCl::ChkptWrtImpl< HasHndl >, XrdCl::ChkptWrtVImpl< HasHndl >, XrdCl::ChModImpl< HasHndl >, XrdCl::ChModImpl< false >, XrdCl::ChModImpl< false >, XrdCl::CloseArchiveImpl< HasHndl >, XrdCl::CloseFileImpl< HasHndl >, XrdCl::CloseFileImpl< false >, XrdCl::CloseFileImpl< false >, XrdCl::CloseImpl< HasHndl >, XrdCl::DeepLocateImpl< HasHndl >, XrdCl::DeepLocateImpl< false >, XrdCl::DeepLocateImpl< false >, XrdCl::DelXAttrBulkImpl< HasHndl >, XrdCl::DelXAttrFsBulkImpl< HasHndl >, XrdCl::DelXAttrFsImpl< HasHndl >, XrdCl::DelXAttrImpl< HasHndl >, XrdCl::DirListImpl< HasHndl >, XrdCl::DirListImpl< false >, XrdCl::DirListImpl< false >, XrdCl::FcntlImpl< HasHndl >, XrdCl::FcntlImpl< false >, XrdCl::FcntlImpl< false >, XrdCl::GetXAttrBulkImpl< HasHndl >, XrdCl::GetXAttrFsBulkImpl< HasHndl >, XrdCl::GetXAttrFsImpl< HasHndl >, XrdCl::GetXAttrImpl< HasHndl >, XrdCl::ListXAttrFsImpl< HasHndl >, XrdCl::ListXAttrImpl< HasHndl >, XrdCl::LocateImpl< HasHndl >, XrdCl::LocateImpl< false >, XrdCl::LocateImpl< false >, XrdCl::MkDirImpl< HasHndl >, XrdCl::MkDirImpl< false >, XrdCl::MkDirImpl< false >, XrdCl::MvImpl< HasHndl >, XrdCl::MvImpl< false >, XrdCl::MvImpl< false >, XrdCl::OpenArchiveImpl< HasHndl >, XrdCl::OpenFileImpl< HasHndl >, XrdCl::OpenImpl< HasHndl >, XrdCl::ParallelOperation< HasHndl >, XrdCl::PgReadImpl< HasHndl >, XrdCl::PgReadImpl< false >, XrdCl::PgReadImpl< false >, XrdCl::PgWriteImpl< HasHndl >, XrdCl::PingImpl< HasHndl >, XrdCl::PingImpl< false >, XrdCl::PingImpl< false >, XrdCl::PrepareImpl< HasHndl >, XrdCl::PrepareImpl< false >, XrdCl::PrepareImpl< false >, XrdCl::ProtocolImpl< HasHndl >, XrdCl::ProtocolImpl< false >, XrdCl::ProtocolImpl< false >, XrdCl::QueryImpl< HasHndl >, XrdCl::QueryImpl< false >, XrdCl::QueryImpl< false >, XrdCl::ReadImpl< HasHndl >, XrdCl::ReadImpl< false >, XrdCl::ReadImpl< false >, XrdCl::RmDirImpl< HasHndl >, XrdCl::RmDirImpl< false >, XrdCl::RmDirImpl< false >, XrdCl::RmImpl< HasHndl >, XrdCl::RmImpl< false >, XrdCl::RmImpl< false >, XrdCl::SendInfoImpl< HasHndl >, XrdCl::SendInfoImpl< false >, XrdCl::SendInfoImpl< false >, XrdCl::SetXAttrBulkImpl< HasHndl >, XrdCl::SetXAttrFsBulkImpl< HasHndl >, XrdCl::SetXAttrFsImpl< HasHndl >, XrdCl::SetXAttrImpl< HasHndl >, XrdCl::StatFsImpl< HasHndl >, XrdCl::StatImpl< HasHndl >, XrdCl::StatVFSImpl< HasHndl >, XrdCl::StatVFSImpl< false >, XrdCl::StatVFSImpl< false >, XrdCl::SyncImpl< HasHndl >, XrdCl::TruncateFsImpl< HasHndl >, XrdCl::TruncateImpl< HasHndl >, XrdCl::VectorReadImpl< HasHndl >, XrdCl::VectorWriteImpl< HasHndl >, XrdCl::VisaImpl< HasHndl >, XrdCl::VisaImpl< false >, XrdCl::VisaImpl< false >, XrdCl::WriteImpl< HasHndl >, XrdCl::WriteVImpl< HasHndl >, XrdCl::ZipListImpl< HasHndl >, XrdCl::ZipReadFromImpl< HasHndl >, XrdCl::ZipReadImpl< HasHndl >, XrdCl::ZipStatImpl< HasHndl >, XrdCl::ZipWriteImpl< HasHndl >, and XrdEc::OpenOnlyImpl< HasHndl >.

Friends And Related Symbol Documentation

◆ Operation

◆ Async

template<bool HasHndl>
std::future< XRootDStatus > Async ( Pipeline pipeline,
uint16_t timeout = 0 )
friend

Helper function, schedules execution of given pipeline

Parameters
pipeline: the pipeline to be executed
timeout: the pipeline timeout
Returns
: future status of the operation

Definition at line 488 of file XrdClOperations.hh.

489 {
491 return std::move( pipeline.ftr );
492 }
void Run(Timeout timeout, std::promise< XRootDStatus > prms, std::function< void(const XRootDStatus &)> final)

References Pipeline.

◆ Pipeline

template<bool HasHndl>
friend class Pipeline
friend

Definition at line 68 of file XrdClOperations.hh.

References Pipeline.

Referenced by Async, and Pipeline.

◆ PipelineHandler

Member Data Documentation

◆ handler

template<bool HasHndl>
std::unique_ptr<PipelineHandler> XrdCl::Operation< HasHndl >::handler
protected

Operation handler.

Definition at line 150 of file XrdClOperations.hh.

Referenced by Operation(), AddOperation(), XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >::AllocHandler(), XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >::operator|(), XrdCl::PipelineHandler::PreparePipelineStart(), Run(), XrdCl::AppendFileImpl< HasHndl >::RunImpl(), XrdCl::CheckpointImpl< HasHndl >::RunImpl(), XrdCl::ChkptWrtImpl< HasHndl >::RunImpl(), XrdCl::ChkptWrtVImpl< HasHndl >::RunImpl(), XrdCl::ChModImpl< false >::RunImpl(), XrdCl::CloseArchiveImpl< HasHndl >::RunImpl(), XrdCl::CloseFileImpl< false >::RunImpl(), XrdCl::CloseImpl< HasHndl >::RunImpl(), XrdCl::DeepLocateImpl< false >::RunImpl(), XrdCl::DelXAttrBulkImpl< HasHndl >::RunImpl(), XrdCl::DelXAttrFsBulkImpl< HasHndl >::RunImpl(), XrdCl::DelXAttrFsImpl< HasHndl >::RunImpl(), XrdCl::DelXAttrImpl< HasHndl >::RunImpl(), XrdCl::DirListImpl< false >::RunImpl(), XrdCl::FcntlImpl< false >::RunImpl(), XrdCl::GetXAttrBulkImpl< HasHndl >::RunImpl(), XrdCl::GetXAttrFsBulkImpl< HasHndl >::RunImpl(), XrdCl::GetXAttrFsImpl< HasHndl >::RunImpl(), XrdCl::GetXAttrImpl< HasHndl >::RunImpl(), XrdCl::ListXAttrFsImpl< HasHndl >::RunImpl(), XrdCl::ListXAttrImpl< HasHndl >::RunImpl(), XrdCl::LocateImpl< false >::RunImpl(), XrdCl::MkDirImpl< false >::RunImpl(), XrdCl::MvImpl< false >::RunImpl(), XrdCl::OpenArchiveImpl< HasHndl >::RunImpl(), XrdCl::OpenFileImpl< HasHndl >::RunImpl(), XrdCl::OpenImpl< HasHndl >::RunImpl(), RunImpl(), XrdCl::PgReadImpl< false >::RunImpl(), XrdCl::PgWriteImpl< HasHndl >::RunImpl(), XrdCl::PingImpl< false >::RunImpl(), XrdCl::PrepareImpl< false >::RunImpl(), XrdCl::ProtocolImpl< false >::RunImpl(), XrdCl::QueryImpl< false >::RunImpl(), XrdCl::ReadImpl< false >::RunImpl(), XrdCl::RmDirImpl< false >::RunImpl(), XrdCl::RmImpl< false >::RunImpl(), XrdCl::SendInfoImpl< false >::RunImpl(), XrdCl::SetXAttrBulkImpl< HasHndl >::RunImpl(), XrdCl::SetXAttrFsBulkImpl< HasHndl >::RunImpl(), XrdCl::SetXAttrFsImpl< HasHndl >::RunImpl(), XrdCl::SetXAttrImpl< HasHndl >::RunImpl(), XrdCl::StatFsImpl< HasHndl >::RunImpl(), XrdCl::StatImpl< HasHndl >::RunImpl(), XrdCl::StatVFSImpl< false >::RunImpl(), XrdCl::SyncImpl< HasHndl >::RunImpl(), XrdCl::TruncateFsImpl< HasHndl >::RunImpl(), XrdCl::TruncateImpl< HasHndl >::RunImpl(), XrdCl::VectorReadImpl< HasHndl >::RunImpl(), XrdCl::VectorWriteImpl< HasHndl >::RunImpl(), XrdCl::VisaImpl< false >::RunImpl(), XrdCl::WriteImpl< HasHndl >::RunImpl(), XrdCl::WriteVImpl< HasHndl >::RunImpl(), XrdCl::ZipListImpl< HasHndl >::RunImpl(), XrdCl::ZipReadFromImpl< HasHndl >::RunImpl(), XrdCl::ZipReadImpl< HasHndl >::RunImpl(), XrdCl::ZipStatImpl< HasHndl >::RunImpl(), XrdCl::ZipWriteImpl< HasHndl >::RunImpl(), XrdEc::OpenOnlyImpl< HasHndl >::RunImpl(), XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >::StreamImpl(), and XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >::ToHandled().

◆ valid

template<bool HasHndl>
bool XrdCl::Operation< HasHndl >::valid
protected

Flag indicating if it is a valid object.

Definition at line 155 of file XrdClOperations.hh.

Referenced by Operation(), and Operation().


The documentation for this class was generated from the following file: