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< true > | operator| (FinalOperation &&fo) |
Adds a final operation to the pipeline. More... | |
Operation< HasHndl > * | Move () |
Operation< true > * | ToHandled () |
Derived< HasHndl > | Timeout (uint16_t timeout) |
Set operation timeout. More... | |
![]() | |
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 (Timeout timeout, std::promise< XRootDStatus > prms, std::function< void(const XRootDStatus &)> final) |
virtual XRootDStatus | RunImpl (PipelineHandler *handler, uint16_t timeout)=0 |
void | AddOperation (Operation< true > *op) |
Static Protected Member Functions | |
static void | AllocHandler (ConcreteOperation< Derived, true, HdlrFactory, Args...> &me) |
static void | AllocHandler (ConcreteOperation< Derived, false, HdlrFactory, Args...> &me) |
static Derived< true > | PipeImpl (ConcreteOperation< Derived, HasHndl, HdlrFactory, Args...> &me, Operation< true > &op) |
static Derived< true > | PipeImpl (ConcreteOperation< Derived, HasHndl, HdlrFactory, Args...> &me, Operation< false > &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.
|
inline |
Constructor
args | : operation arguments |
|
inline |
Move constructor from other states
op | : the object that is being converted |
|
inlinestaticprotected |
|
inlinestaticprotected |
|
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 |
|
inline |
Creates a pipeline of 2 or more operations
op | : operation to add |
|
inline |
Creates a pipeline of 2 or more operations
op | : operation to add |
|
inline |
Creates a pipeline of 2 or more operations
op | operation to add |
|
inline |
Creates a pipeline of 2 or more operations
op | : operation to add |
|
inline |
Adds a final operation to the pipeline.
|
inlinestaticprotected |
Implements operator| functionality
me | : reference to myself (*this) |
op | : reference to the other operation |
Referenced by XrdCl::ConcreteOperation< VectorWriteImpl, HasHndl, Resp< void >, Arguments...>::operator|().
|
inlinestaticprotected |
Implements operator| functionality
me | : reference to myself (*this) |
op | : reference to the other operation |
|
inlineprotected |
Implements operator>> functionality
h | : handler to be added @ |
Referenced by XrdCl::ConcreteOperation< VectorWriteImpl, HasHndl, Resp< void >, Arguments...>::operator>>().
|
inline |
Set operation timeout.
|
inlinevirtual |
|
inlineprotected |
Transform into a new instance with desired state
|
friend |
|
protected |
Operation arguments.
|
protected |
Operation timeout.
Referenced by XrdCl::ConcreteOperation< VectorWriteImpl, HasHndl, Resp< void >, Arguments...>::Timeout().