|
xrootd
|
#include <XrdClParallelOperation.hh>


Classes | |
| struct | AllPolicy |
| struct | AnyPolicy |
| struct | AtLeastPolicy |
| struct | Ctx |
| struct | SomePolicy |
Public Member Functions | |
| template<bool from> | |
| ParallelOperation (ParallelOperation< from > &&obj) | |
| Constructor: copy-move a ParallelOperation in different state. More... | |
| template<class Container > | |
| ParallelOperation (Container &&container) | |
| std::string | ToString () |
| ParallelOperation< HasHndl > | All () |
| ParallelOperation< HasHndl > | Any () |
| ParallelOperation< HasHndl > | Some (size_t threshold) |
| ParallelOperation< HasHndl > | AtLeast (size_t threshold) |
Public Member Functions inherited from XrdCl::ConcreteOperation< ParallelOperation, HasHndl, Resp< void > > | |
| ConcreteOperation (Args &&... args) | |
| ConcreteOperation (ConcreteOperation< ParallelOperation, from, Resp< void >, Args... > &&op) | |
| ParallelOperation< true > | operator>> (Hdlr &&hdlr) |
| ParallelOperation< true > | operator| (Operation< true > &op) |
| ParallelOperation< true > | operator| (Operation< true > &&op) |
| ParallelOperation< true > | operator| (Operation< false > &op) |
| ParallelOperation< true > | operator| (Operation< false > &&op) |
| ParallelOperation< HasHndl > | Recovery (rcvry_func recovery) |
| Set recovery procedure in case the operation fails. More... | |
| Operation< HasHndl > * | Move () |
| Operation< true > * | ToHandled () |
Public Member Functions inherited from XrdCl::Operation< HasHndl > | |
| Operation () | |
| Constructor. More... | |
| template<bool from> | |
| Operation (Operation< from > &&op) | |
| Move constructor between template instances. More... | |
| virtual | ~Operation () |
| Destructor. More... | |
Private Member Functions | |
| XRootDStatus | RunImpl () |
Private Attributes | |
| std::vector< Pipeline > | pipelines |
| std::unique_ptr< PolicyExecutor > | policy |
Friends | |
| template<bool > | |
| class | ParallelOperation |
Additional Inherited Members | |
Protected Member Functions inherited from XrdCl::ConcreteOperation< ParallelOperation, HasHndl, Resp< void > > | |
| ParallelOperation< to > | Transform () |
| ParallelOperation< true > | StreamImpl (ResponseHandler *handler) |
Protected Member Functions inherited from XrdCl::Operation< HasHndl > | |
| void | Run (std::promise< XRootDStatus > prms, std::function< void(const XRootDStatus &)> final) |
| void | ForceHandler (const XRootDStatus &status) |
| void | AddOperation (Operation< true > *op) |
Static Protected Member Functions inherited from XrdCl::ConcreteOperation< ParallelOperation, HasHndl, Resp< void > > | |
| static ParallelOperation< true > | PipeImpl (ConcreteOperation< ParallelOperation, true, Resp< void >, Args... > &me, Operation< true > &op) |
| static ParallelOperation< true > | PipeImpl (ConcreteOperation< ParallelOperation, true, Resp< void >, Args... > &me, Operation< false > &op) |
| static ParallelOperation< true > | PipeImpl (ConcreteOperation< ParallelOperation, false, Resp< void >, Args... > &me, Operation< true > &op) |
| static ParallelOperation< true > | PipeImpl (ConcreteOperation< ParallelOperation, false, Resp< void >, Args... > &me, Operation< false > &op) |
Protected Attributes inherited from XrdCl::ConcreteOperation< ParallelOperation, HasHndl, Resp< void > > | |
| std::tuple< Args... > | args |
| Operation arguments. More... | |
| rcvry_func | recovery |
| The recovery routine for this operation. More... | |
Protected Attributes inherited from XrdCl::Operation< HasHndl > | |
| std::unique_ptr< PipelineHandler > | handler |
| Operation handler. More... | |
| bool | valid |
| Flag indicating if it is a valid object. More... | |
Parallel operations, allows to execute two or more pipelines in parallel.
|
inline |
Constructor: copy-move a ParallelOperation in different state.
|
inline |
Constructor
| container | : iterable container with pipelines |
References XrdCl::ParallelOperation< HasHndl >::pipelines.
|
inline |
Set policy to All (default)
All operations need to succeed in order for the parallel operation to be successful.
References XrdCl::ParallelOperation< HasHndl >::policy.
|
inline |
Set policy to Any
Just one of the operations needs to succeed in order for the parallel operation to be successful.
References XrdCl::ParallelOperation< HasHndl >::pipelines, and XrdCl::ParallelOperation< HasHndl >::policy.
|
inline |
Set policy to At Least.
At least n (user defined) operations need to succeed in order for the parallel operation to be successful (the user handler will be called only when all operations are resolved).
References XrdCl::ParallelOperation< HasHndl >::pipelines, and XrdCl::ParallelOperation< HasHndl >::policy.
|
inlineprivatevirtual |
Run operation
| params | : container with parameters forwarded from previous operation |
Implements XrdCl::Operation< HasHndl >.
References XrdCl::PipelineException::GetError(), XrdCl::Operation< HasHndl >::handler, XrdCl::ParallelOperation< HasHndl >::pipelines, XrdCl::ParallelOperation< HasHndl >::policy, and XrdCl::stError.
|
inline |
n (user defined) operations need to succeed in order for the parallel operation to be successful.
References XrdCl::ParallelOperation< HasHndl >::pipelines, and XrdCl::ParallelOperation< HasHndl >::policy.
|
inlinevirtual |
Implements XrdCl::Operation< HasHndl >.
References XrdCl::ParallelOperation< HasHndl >::pipelines.
|
private |
Referenced by XrdCl::ParallelOperation< HasHndl >::Any(), XrdCl::ParallelOperation< HasHndl >::AtLeast(), XrdCl::ParallelOperation< HasHndl >::ParallelOperation(), XrdCl::ParallelOperation< HasHndl >::RunImpl(), XrdCl::ParallelOperation< HasHndl >::Some(), and XrdCl::ParallelOperation< HasHndl >::ToString().
|
private |