![]() |
XRootD
|
#include <XrdClOperations.hh>
Public Member Functions | |
ConcreteOperation (Args &&... args) | |
template<bool from> | |
ConcreteOperation (ConcreteOperation< Derived, from, HdlrFactory, Args... > &&op) | |
Operation< HasHndl > * | Move () |
template<typename Hdlr > | |
Derived< true > | operator>> (Hdlr &&hdlr) |
Derived< true > | operator| (FinalOperation &&fo) |
Adds a final operation to the pipeline. More... | |
Derived< true > | operator| (Operation< false > &&op) |
Derived< true > | operator| (Operation< false > &op) |
Derived< true > | operator| (Operation< true > &&op) |
Derived< true > | operator| (Operation< true > &op) |
Derived< HasHndl > | Timeout (uint16_t timeout) |
Set operation timeout. More... | |
Operation< true > * | ToHandled () |
![]() | |
Operation () | |
Constructor. More... | |
template<bool from> | |
Operation (Operation< from > &&op) | |
Move constructor between template instances. More... | |
virtual | ~Operation () |
Destructor. More... | |
virtual std::string | ToString ()=0 |
Name of the operation. More... | |
Protected Member Functions | |
Derived< true > | StreamImpl (ResponseHandler *handler) |
template<bool to> | |
Derived< to > | Transform () |
![]() | |
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 |
Static Protected Member Functions | |
static void | AllocHandler (ConcreteOperation< Derived, false, HdlrFactory, Args... > &me) |
static void | AllocHandler (ConcreteOperation< Derived, true, HdlrFactory, Args... > &me) |
static Derived< true > | PipeImpl (ConcreteOperation< Derived, HasHndl, HdlrFactory, Args... > &me, Operation< false > &op) |
static Derived< true > | PipeImpl (ConcreteOperation< Derived, HasHndl, HdlrFactory, Args... > &me, Operation< true > &op) |
Protected Attributes | |
std::tuple< Args... > | args |
Operation arguments. More... | |
uint16_t | timeout |
Operation timeout. More... | |
![]() | |
std::unique_ptr< PipelineHandler > | handler |
Operation handler. More... | |
bool | valid |
Flag indicating if it is a valid object. More... | |
Friends | |
template<template< bool > class, bool , typename , typename ... > | |
class | ConcreteOperation |
Concrete Operation template Defines | and >> operator as well as operation arguments.
Definition at line 551 of file XrdClOperations.hh.
|
inline |
Constructor
args | : operation arguments |
Definition at line 563 of file XrdClOperations.hh.
|
inline |
Move constructor from other states
op | : the object that is being converted |
Definition at line 577 of file XrdClOperations.hh.
|
inlinestaticprotected |
Definition at line 729 of file XrdClOperations.hh.
References XrdCl::Operation< HasHndl >::handler, and XrdCl::Operation< HasHndl >::PipelineHandler.
|
inlinestaticprotected |
Definition at line 720 of file XrdClOperations.hh.
Referenced by XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >::operator|(), and XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >::PipeImpl().
|
inlinevirtual |
Move current object into newly allocated instance
Implements XrdCl::Operation< HasHndl >.
Definition at line 660 of file XrdClOperations.hh.
|
inline |
Adds ResponseHandler/function/functor/lambda/future handler for the operation.
Note: due to reference collapsing this covers both l-value and r-value references.
hdlr | : function/functor/lambda |
Definition at line 592 of file XrdClOperations.hh.
References Create, and XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >::StreamImpl().
|
inline |
Adds a final operation to the pipeline.
Definition at line 648 of file XrdClOperations.hh.
References XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >::AllocHandler(), and XrdCl::Operation< HasHndl >::handler.
|
inline |
Creates a pipeline of 2 or more operations
op | : operation to add |
Definition at line 640 of file XrdClOperations.hh.
References XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >::PipeImpl().
|
inline |
Creates a pipeline of 2 or more operations
op | operation to add |
Definition at line 628 of file XrdClOperations.hh.
References XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >::PipeImpl().
|
inline |
Creates a pipeline of 2 or more operations
op | : operation to add |
Definition at line 616 of file XrdClOperations.hh.
References XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >::PipeImpl().
|
inline |
Creates a pipeline of 2 or more operations
op | : operation to add |
Definition at line 604 of file XrdClOperations.hh.
References XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >::PipeImpl().
|
inlinestaticprotected |
Implements operator| functionality
me | : reference to myself (*this) |
op | : reference to the other operation |
Definition at line 760 of file XrdClOperations.hh.
References XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >::AllocHandler(), and XrdCl::Operation< HasHndl >::ToHandled().
|
inlinestaticprotected |
Implements operator| functionality
me | : reference to myself (*this) |
op | : reference to the other operation |
Definition at line 743 of file XrdClOperations.hh.
References XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >::AllocHandler(), and XrdCl::Operation< HasHndl >::Move().
Referenced by XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >::operator|().
|
inlineprotected |
Implements operator>> functionality
handler | : handler to be added |
Definition at line 709 of file XrdClOperations.hh.
References XrdCl::Operation< HasHndl >::handler, and XrdCl::Operation< HasHndl >::PipelineHandler.
Referenced by XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >::operator>>().
|
inline |
Set operation timeout.
Definition at line 681 of file XrdClOperations.hh.
References XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >::timeout.
Referenced by XrdCl::AppendFile(), XrdCl::Checkpoint(), XrdCl::ChkptWrt(), XrdCl::ChkptWrtV(), XrdCl::Close(), XrdCl::CloseArchive(), XrdCl::Open(), XrdCl::OpenArchive(), XrdCl::OpenFile(), XrdEc::OpenOnly(), XrdCl::PgRead(), XrdCl::PgWrite(), XrdCl::Read(), XrdCl::ReadFrom(), XrdCl::Stat(), XrdCl::Sync(), XrdCl::Truncate(), XrdCl::VectorRead(), XrdCl::VectorWrite(), XrdCl::Write(), and XrdCl::WriteV().
|
inlinevirtual |
Transform operation to handled
Implements XrdCl::Operation< HasHndl >.
Definition at line 671 of file XrdClOperations.hh.
References XrdCl::Operation< HasHndl >::handler, and XrdCl::Operation< HasHndl >::PipelineHandler.
|
inlineprotected |
Transform into a new instance with desired state
Definition at line 696 of file XrdClOperations.hh.
|
friend |
Definition at line 554 of file XrdClOperations.hh.
|
protected |
Operation arguments.
Definition at line 771 of file XrdClOperations.hh.
Referenced by XrdCl::CheckpointImpl< HasHndl >::RunImpl(), XrdCl::ChkptWrtImpl< HasHndl >::RunImpl(), XrdCl::ChkptWrtVImpl< HasHndl >::RunImpl(), XrdCl::ReadImpl< HasHndl >::RunImpl(), XrdCl::PgReadImpl< HasHndl >::RunImpl(), XrdCl::PgWriteImpl< HasHndl >::RunImpl(), XrdCl::StatImpl< HasHndl >::RunImpl(), XrdCl::WriteImpl< HasHndl >::RunImpl(), XrdCl::TruncateImpl< HasHndl >::RunImpl(), XrdCl::VectorReadImpl< HasHndl >::RunImpl(), XrdCl::VectorWriteImpl< HasHndl >::RunImpl(), XrdCl::WriteVImpl< HasHndl >::RunImpl(), XrdCl::FcntlImpl< HasHndl >::RunImpl(), XrdCl::SetXAttrImpl< HasHndl >::RunImpl(), XrdCl::SetXAttrBulkImpl< HasHndl >::RunImpl(), XrdCl::GetXAttrImpl< HasHndl >::RunImpl(), XrdCl::GetXAttrBulkImpl< HasHndl >::RunImpl(), XrdCl::DelXAttrImpl< HasHndl >::RunImpl(), XrdCl::DelXAttrBulkImpl< HasHndl >::RunImpl(), XrdCl::DeepLocateImpl< HasHndl >::RunImpl(), XrdCl::MvImpl< HasHndl >::RunImpl(), XrdCl::QueryImpl< HasHndl >::RunImpl(), XrdCl::TruncateFsImpl< HasHndl >::RunImpl(), XrdCl::RmImpl< HasHndl >::RunImpl(), XrdCl::MkDirImpl< HasHndl >::RunImpl(), XrdCl::RmDirImpl< HasHndl >::RunImpl(), XrdCl::ChModImpl< HasHndl >::RunImpl(), XrdCl::StatFsImpl< HasHndl >::RunImpl(), XrdCl::StatVFSImpl< HasHndl >::RunImpl(), XrdCl::DirListImpl< HasHndl >::RunImpl(), XrdCl::SendInfoImpl< HasHndl >::RunImpl(), XrdCl::PrepareImpl< HasHndl >::RunImpl(), XrdCl::SetXAttrFsImpl< HasHndl >::RunImpl(), XrdCl::SetXAttrFsBulkImpl< HasHndl >::RunImpl(), XrdCl::GetXAttrFsImpl< HasHndl >::RunImpl(), XrdCl::GetXAttrFsBulkImpl< HasHndl >::RunImpl(), XrdCl::DelXAttrFsImpl< HasHndl >::RunImpl(), XrdCl::DelXAttrFsBulkImpl< HasHndl >::RunImpl(), XrdCl::ListXAttrFsImpl< HasHndl >::RunImpl(), XrdCl::OpenFileImpl< HasHndl >::RunImpl(), XrdCl::ZipReadImpl< HasHndl >::RunImpl(), XrdCl::ZipReadFromImpl< HasHndl >::RunImpl(), XrdCl::ZipWriteImpl< HasHndl >::RunImpl(), XrdCl::AppendFileImpl< HasHndl >::RunImpl(), and XrdEc::OpenOnlyImpl< HasHndl >::RunImpl().
|
protected |
Operation timeout.
Definition at line 776 of file XrdClOperations.hh.
Referenced by XrdCl::ZipArchive::PgRead(), XrdCl::ZipArchive::Read(), XrdCl::CheckpointImpl< HasHndl >::RunImpl(), XrdCl::ChkptWrtImpl< HasHndl >::RunImpl(), XrdCl::ChkptWrtVImpl< HasHndl >::RunImpl(), XrdCl::ReadImpl< HasHndl >::RunImpl(), XrdCl::PgReadImpl< HasHndl >::RunImpl(), XrdCl::PgWriteImpl< HasHndl >::RunImpl(), XrdCl::CloseImpl< HasHndl >::RunImpl(), XrdCl::StatImpl< HasHndl >::RunImpl(), XrdCl::WriteImpl< HasHndl >::RunImpl(), XrdCl::SyncImpl< HasHndl >::RunImpl(), XrdCl::TruncateImpl< HasHndl >::RunImpl(), XrdCl::VectorReadImpl< HasHndl >::RunImpl(), XrdCl::VectorWriteImpl< HasHndl >::RunImpl(), XrdCl::WriteVImpl< HasHndl >::RunImpl(), XrdCl::FcntlImpl< HasHndl >::RunImpl(), XrdCl::VisaImpl< HasHndl >::RunImpl(), XrdCl::SetXAttrImpl< HasHndl >::RunImpl(), XrdCl::SetXAttrBulkImpl< HasHndl >::RunImpl(), XrdCl::GetXAttrImpl< HasHndl >::RunImpl(), XrdCl::GetXAttrBulkImpl< HasHndl >::RunImpl(), XrdCl::DelXAttrImpl< HasHndl >::RunImpl(), XrdCl::DelXAttrBulkImpl< HasHndl >::RunImpl(), XrdCl::ListXAttrImpl< HasHndl >::RunImpl(), XrdCl::DeepLocateImpl< HasHndl >::RunImpl(), XrdCl::MvImpl< HasHndl >::RunImpl(), XrdCl::QueryImpl< HasHndl >::RunImpl(), XrdCl::TruncateFsImpl< HasHndl >::RunImpl(), XrdCl::RmImpl< HasHndl >::RunImpl(), XrdCl::MkDirImpl< HasHndl >::RunImpl(), XrdCl::RmDirImpl< HasHndl >::RunImpl(), XrdCl::ChModImpl< HasHndl >::RunImpl(), XrdCl::PingImpl< HasHndl >::RunImpl(), XrdCl::StatFsImpl< HasHndl >::RunImpl(), XrdCl::StatVFSImpl< HasHndl >::RunImpl(), XrdCl::ProtocolImpl< HasHndl >::RunImpl(), XrdCl::DirListImpl< HasHndl >::RunImpl(), XrdCl::SendInfoImpl< HasHndl >::RunImpl(), XrdCl::PrepareImpl< HasHndl >::RunImpl(), XrdCl::SetXAttrFsImpl< HasHndl >::RunImpl(), XrdCl::SetXAttrFsBulkImpl< HasHndl >::RunImpl(), XrdCl::GetXAttrFsImpl< HasHndl >::RunImpl(), XrdCl::GetXAttrFsBulkImpl< HasHndl >::RunImpl(), XrdCl::DelXAttrFsImpl< HasHndl >::RunImpl(), XrdCl::DelXAttrFsBulkImpl< HasHndl >::RunImpl(), XrdCl::ListXAttrFsImpl< HasHndl >::RunImpl(), XrdCl::ZipReadImpl< HasHndl >::RunImpl(), XrdCl::ZipReadFromImpl< HasHndl >::RunImpl(), XrdCl::ZipWriteImpl< HasHndl >::RunImpl(), XrdCl::AppendFileImpl< HasHndl >::RunImpl(), XrdCl::CloseArchiveImpl< HasHndl >::RunImpl(), XrdEc::OpenOnlyImpl< HasHndl >::RunImpl(), XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >::Timeout(), and XrdCl::ZipArchive::Write().