![]() |
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. | |
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. | |
Operation< true > * | ToHandled () |
![]() | |
Operation () | |
Constructor. | |
template<bool from> | |
Operation (Operation< from > &&op) | |
Move constructor between template instances. | |
virtual | ~Operation () |
Destructor. | |
virtual std::string | ToString ()=0 |
Name of the operation. | |
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. | |
uint16_t | timeout |
Operation timeout. | |
![]() | |
std::unique_ptr< PipelineHandler > | handler |
Operation handler. | |
bool | valid |
Flag indicating if it is a valid object. | |
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.
References ConcreteOperation, XrdCl::Operation< HasHndl >::Operation, args, and timeout.
|
inlinestaticprotected |
Definition at line 729 of file XrdClOperations.hh.
References ConcreteOperation, XrdCl::Operation< HasHndl >::handler, and XrdCl::Operation< HasHndl >::PipelineHandler.
|
inlinestaticprotected |
Definition at line 720 of file XrdClOperations.hh.
References ConcreteOperation.
Referenced by operator|(), PipeImpl(), and PipeImpl().
|
inlinevirtual |
Move current object into newly allocated instance
Implements XrdCl::Operation< HasHndl >.
Definition at line 660 of file XrdClOperations.hh.
References XrdCl::Operation< HasHndl >::Operation.
|
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 StreamImpl().
|
inline |
Adds a final operation to the pipeline.
Definition at line 648 of file XrdClOperations.hh.
References AllocHandler(), XrdCl::Operation< HasHndl >::handler, and Transform().
|
inline |
Creates a pipeline of 2 or more operations
op | : operation to add |
Definition at line 640 of file XrdClOperations.hh.
References XrdCl::Operation< HasHndl >::Operation, and PipeImpl().
|
inline |
Creates a pipeline of 2 or more operations
op | operation to add |
Definition at line 628 of file XrdClOperations.hh.
References XrdCl::Operation< HasHndl >::Operation, and PipeImpl().
|
inline |
Creates a pipeline of 2 or more operations
op | : operation to add |
Definition at line 616 of file XrdClOperations.hh.
References XrdCl::Operation< HasHndl >::Operation, and PipeImpl().
|
inline |
Creates a pipeline of 2 or more operations
op | : operation to add |
Definition at line 604 of file XrdClOperations.hh.
References XrdCl::Operation< HasHndl >::Operation, and 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 ConcreteOperation, XrdCl::Operation< HasHndl >::Operation, AllocHandler(), XrdCl::Operation< HasHndl >::ToHandled(), and Transform().
|
inlinestaticprotected |
Implements operator| functionality
me | : reference to myself (*this) |
op | : reference to the other operation |
Definition at line 743 of file XrdClOperations.hh.
References ConcreteOperation, XrdCl::Operation< HasHndl >::Operation, AllocHandler(), XrdCl::Operation< HasHndl >::Move(), and Transform().
Referenced by operator|(), operator|(), operator|(), and operator|().
|
inlineprotected |
Implements operator>> functionality
handler | : handler to be added |
Definition at line 709 of file XrdClOperations.hh.
References XrdCl::Operation< HasHndl >::handler, XrdCl::Operation< HasHndl >::PipelineHandler, and Transform().
Referenced by operator>>().
|
inline |
Set operation timeout.
Definition at line 681 of file XrdClOperations.hh.
References 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::PgWrite(), XrdCl::Read(), XrdCl::Read(), XrdCl::ReadFrom(), XrdCl::Stat(), XrdCl::Sync(), XrdCl::Truncate(), XrdCl::VectorRead(), XrdCl::VectorRead(), XrdCl::VectorWrite(), XrdCl::Write(), 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 >::Operation, 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.
Referenced by operator|(), PipeImpl(), PipeImpl(), and StreamImpl().
|
friend |
Definition at line 554 of file XrdClOperations.hh.
References ConcreteOperation.
Referenced by ConcreteOperation, ConcreteOperation(), AllocHandler(), AllocHandler(), PipeImpl(), and PipeImpl().
|
protected |
Operation arguments.
Definition at line 771 of file XrdClOperations.hh.
Referenced by ConcreteOperation(), and ConcreteOperation().
|
protected |
Operation timeout.
Definition at line 776 of file XrdClOperations.hh.
Referenced by ConcreteOperation(), ConcreteOperation(), and Timeout().