xrootd
|
#include <XrdClOperations.hh>
Public Member Functions | |
ConcreteOperation (Args &&... args) | |
template<bool from> | |
ConcreteOperation (ConcreteOperation< Derived, from, HdlrFactory, Args... > &&op) | |
template<typename Hdlr > | |
Derived< true > | operator>> (Hdlr &&hdlr) |
Derived< true > | operator| (Operation< true > &op) |
Derived< true > | operator| (Operation< true > &&op) |
Derived< true > | operator| (Operation< false > &op) |
Derived< true > | operator| (Operation< false > &&op) |
Derived< HasHndl > | Recovery (rcvry_func recovery) |
Set recovery procedure in case the operation fails. More... | |
Operation< HasHndl > * | Move () |
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 | |
template<bool to> | |
Derived< to > | Transform () |
Derived< true > | StreamImpl (ResponseHandler *handler) |
![]() | |
void | Run (std::promise< XRootDStatus > prms, std::function< void(const XRootDStatus &)> final) |
virtual XRootDStatus | RunImpl ()=0 |
void | ForceHandler (const XRootDStatus &status) |
void | AddOperation (Operation< true > *op) |
Static Protected Member Functions | |
static Derived< true > | PipeImpl (ConcreteOperation< Derived, true, HdlrFactory, Args... > &me, Operation< true > &op) |
static Derived< true > | PipeImpl (ConcreteOperation< Derived, true, HdlrFactory, Args... > &me, Operation< false > &op) |
static Derived< true > | PipeImpl (ConcreteOperation< Derived, false, HdlrFactory, Args... > &me, Operation< true > &op) |
static Derived< true > | PipeImpl (ConcreteOperation< Derived, false, HdlrFactory, Args... > &me, Operation< false > &op) |
Protected Attributes | |
std::tuple< Args... > | args |
Operation arguments. More... | |
rcvry_func | recovery |
The recovery routine for this operation. 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.
|
inline |
Constructor
args | : operation arguments |
|
inline |
Move constructor from other states
op | : the object that is being converted |
|
inlinevirtual |
Move current object into newly allocated instance
Implements XrdCl::Operation< HasHndl >.
|
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.
func | : function/functor/lambda |
References XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >::StreamImpl().
|
inline |
Creates a pipeline of 2 or more operations
op | : operation to add |
References XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >::PipeImpl().
|
inline |
Creates a pipeline of 2 or more operations
op | operation to add |
References XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >::PipeImpl().
|
inline |
Creates a pipeline of 2 or more operations
op | : operation to add |
References XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >::PipeImpl().
|
inline |
Creates a pipeline of 2 or more operations
op | : operation to add |
References XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >::PipeImpl().
|
inlinestaticprotected |
Implements operator| functionality
me | : reference to myself (*this) |
op | : reference to the other operation |
References XrdCl::Operation< HasHndl >::PipelineHandler, and XrdCl::Operation< HasHndl >::ToHandled().
|
inlinestaticprotected |
Implements operator| functionality
me | : reference to myself (*this) |
op | : reference to the other operation |
References XrdCl::Operation< HasHndl >::Move(), and XrdCl::Operation< HasHndl >::PipelineHandler.
|
inlinestaticprotected |
Implements operator| functionality
me | : reference to myself (*this) |
op | : reference to the other operation |
References XrdCl::Operation< HasHndl >::ToHandled().
|
inlinestaticprotected |
Implements operator| functionality
me | : reference to myself (*this) |
op | : reference to the other operation |
References XrdCl::Operation< HasHndl >::Move().
Referenced by XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >::operator|().
|
inline |
Set recovery procedure in case the operation fails.
References XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >::recovery.
|
inlineprotected |
Implements operator>> functionality
h | : handler to be added @ |
References XrdCl::Operation< HasHndl >::handler, XrdCl::Operation< HasHndl >::PipelineHandler, and XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >::recovery.
Referenced by XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >::operator>>().
|
inlinevirtual |
Transform operation to handled
Implements XrdCl::Operation< HasHndl >.
References XrdCl::Operation< HasHndl >::handler, XrdCl::Operation< HasHndl >::PipelineHandler, and XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >::recovery.
|
inlineprotected |
Transform into a new instance with desired state
|
friend |
|
protected |
Operation arguments.
Referenced by XrdCl::ReadImpl< 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(), and XrdCl::ListXAttrFsImpl< HasHndl >::RunImpl().
|
protected |
The recovery routine for this operation.
Referenced by XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >::Recovery(), XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >::StreamImpl(), and XrdCl::ConcreteOperation< Derived, HasHndl, HdlrFactory, Args >::ToHandled().