#include <XrdClOperations.hh>
Public Member Functions | |
Pipeline (Operation< true > *op) | |
Constructor. | |
Pipeline (Operation< true > &op) | |
Constructor. | |
Pipeline (Operation< true > &&op) | |
Constructor. | |
Pipeline (Operation< false > *op) | |
Pipeline (Operation< false > &op) | |
Constructor. | |
Pipeline (Operation< false > &&op) | |
Constructor. | |
Pipeline (Pipeline &&pipe) | |
Pipeline & | operator= (Pipeline &&pipe) |
Constructor. | |
operator Operation< true > & () | |
operator bool () | |
Private Member Functions | |
Operation< true > * | operator-> () |
void | Run (std::function< void(const XRootDStatus &)> final=nullptr) |
Private Attributes | |
std::unique_ptr< Operation < true > > | operation |
First operation in the pipeline. | |
std::future< XRootDStatus > | ftr |
The future result of the pipeline. | |
Friends | |
class | ParallelOperation |
std::future< XRootDStatus > | Async (Pipeline) |
A wrapper around operation pipeline. A Pipeline is a once-use-only object - once executed by a Workflow engine it is invalidated.
Takes ownership of given operation pipeline (which is in most would be a temporary object)
XrdCl::Pipeline::Pipeline | ( | Operation< true > * | op | ) | [inline] |
Constructor.
XrdCl::Pipeline::Pipeline | ( | Operation< true > & | op | ) | [inline] |
Constructor.
XrdCl::Pipeline::Pipeline | ( | Operation< true > && | op | ) | [inline] |
Constructor.
XrdCl::Pipeline::Pipeline | ( | Operation< false > * | op | ) | [inline] |
XrdCl::Pipeline::Pipeline | ( | Operation< false > & | op | ) | [inline] |
Constructor.
XrdCl::Pipeline::Pipeline | ( | Operation< false > && | op | ) | [inline] |
Constructor.
XrdCl::Pipeline::Pipeline | ( | Pipeline && | pipe | ) | [inline] |
XrdCl::Pipeline::operator bool | ( | ) | [inline] |
Conversion to boolean
References operation.
XrdCl::Pipeline::operator Operation< true > & | ( | ) | [inline] |
Conversion to Operation<true>
: | std::logic_error if pipeline is invalid |
References operation.
Operation<true>* XrdCl::Pipeline::operator-> | ( | ) | [inline, private] |
Member access declaration, provides access to the underlying operation.
References operation.
Constructor.
References operation.
void XrdCl::Pipeline::Run | ( | std::function< void(const XRootDStatus &)> | final = nullptr |
) | [inline, private] |
Schedules the underlying pipeline for execution.
args | : forwarded arguments | |
bucket | : number of bucket with forwarded params | |
final | : to be called at the end of the pipeline |
References ftr, and operation.
Referenced by XrdCl::Async().
std::future<XRootDStatus> Async | ( | Pipeline | ) | [friend] |
friend class ParallelOperation [friend] |
std::future<XRootDStatus> XrdCl::Pipeline::ftr [private] |
The future result of the pipeline.
Referenced by XrdCl::Async(), and Run().
std::unique_ptr<Operation<true> > XrdCl::Pipeline::operation [private] |
First operation in the pipeline.
Referenced by operator bool(), operator Operation< true > &(), operator->(), operator=(), and Run().