XrdCl::Pipeline Class Reference

#include <XrdClOperations.hh>

List of all members.

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)
Pipelineoperator= (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< XRootDStatusftr
 The future result of the pipeline.

Friends

class ParallelOperation
std::future< XRootDStatusAsync (Pipeline)

Detailed Description

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)


Constructor & Destructor Documentation

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]

Member Function Documentation

XrdCl::Pipeline::operator bool (  )  [inline]

Conversion to boolean

Returns:
: true if it's a valid pipeline, false otherwise

References operation.

XrdCl::Pipeline::operator Operation< true > & (  )  [inline]

Conversion to Operation<true>

Exceptions:
: 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.

Returns:
: pointer to the underlying

References operation.

Pipeline& XrdCl::Pipeline::operator= ( Pipeline &&  pipe  )  [inline]

Constructor.

References operation.

void XrdCl::Pipeline::Run ( std::function< void(const XRootDStatus &)>  final = nullptr  )  [inline, private]

Schedules the underlying pipeline for execution.

Parameters:
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().


Friends And Related Function Documentation

std::future<XRootDStatus> Async ( Pipeline   )  [friend]
friend class ParallelOperation [friend]

Member Data Documentation

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().


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 30 Sep 2019 for xrootd by  doxygen 1.6.1