xrootd
|
#include <XrdClOperations.hh>
Public Member Functions | |
PipelineHandler (ResponseHandler *handler) | |
PipelineHandler () | |
Default Constructor. | |
void | HandleResponseWithHosts (XRootDStatus *status, AnyObject *response, HostList *hostList) |
Callback function. | |
void | HandleResponse (XRootDStatus *status, AnyObject *response) |
Callback function. | |
~PipelineHandler () | |
Destructor. | |
void | AddOperation (Operation< true > *operation) |
void | Assign (const Timeout &timeout, std::promise< XRootDStatus > prms, std::function< void(const XRootDStatus &)> final, Operation< true > *opr) |
void | Assign (std::function< void(const XRootDStatus &)> final) |
Assign the finalization routine. | |
void | PreparePipelineStart () |
Called by a pipeline on the handler of its first operation before Run. | |
Public Member Functions inherited from XrdCl::ResponseHandler | |
virtual | ~ResponseHandler () |
Private Member Functions | |
void | HandleResponseImpl (XRootDStatus *status, AnyObject *response, HostList *hostList=nullptr) |
Callback function implementation;. | |
void | dealloc (XRootDStatus *status, AnyObject *response, HostList *hostList) |
Private Attributes | |
std::unique_ptr< ResponseHandler > | responseHandler |
The handler of our operation. | |
std::unique_ptr< Operation< true > > | currentOperation |
The operation the handler is assigned to. | |
std::unique_ptr< Operation< true > > | nextOperation |
Next operation in the pipeline. | |
Timeout | timeout |
Pipeline timeout. | |
std::promise< XRootDStatus > | prms |
The promise that there will be a result (traveling along the pipeline) | |
std::function< void(const XRootDStatus &)> | final |
Friends | |
template<bool > | |
class | Operation |
Additional Inherited Members | |
Static Public Member Functions inherited from XrdCl::ResponseHandler | |
static ResponseHandler * | Wrap (std::function< void(XRootDStatus &, AnyObject &)> func) |
static ResponseHandler * | Wrap (std::function< void(XRootDStatus *, AnyObject *)> func) |
Wrapper for ResponseHandler, used only internally to run next operation after previous one is finished
XrdCl::PipelineHandler::PipelineHandler | ( | ResponseHandler * | handler | ) |
Constructor.
handler | : the handler of our operation |
|
inline |
Default Constructor.
|
inline |
Destructor.
void XrdCl::PipelineHandler::AddOperation | ( | Operation< true > * | operation | ) |
Add new operation to the pipeline
operation | : operation to add |
void XrdCl::PipelineHandler::Assign | ( | const Timeout & | timeout, |
std::promise< XRootDStatus > | prms, | ||
std::function< void(const XRootDStatus &)> | final, | ||
Operation< true > * | opr | ||
) |
Set workflow to this and all next handlers. In the last handler it is used to finish workflow execution
prms | : a promis that the pipeline will have a result |
final | : a callable that should be called at the end of pipeline |
void XrdCl::PipelineHandler::Assign | ( | std::function< void(const XRootDStatus &)> | final | ) |
Assign the finalization routine.
|
inlineprivate |
|
virtual |
Callback function.
Reimplemented from XrdCl::ResponseHandler.
Referenced by XrdCl::ParallelOperation< HasHndl >::Ctx::Handle().
|
private |
Callback function implementation;.
|
virtual |
Callback function.
Reimplemented from XrdCl::ResponseHandler.
void XrdCl::PipelineHandler::PreparePipelineStart | ( | ) |
Called by a pipeline on the handler of its first operation before Run.
Referenced by XrdCl::Pipeline::Run().
|
friend |
|
private |
The operation the handler is assigned to.
|
private |
The lambda/function/functor that should be called at the end of the pipeline (traveling along the pipeline)
|
private |
Next operation in the pipeline.
|
private |
The promise that there will be a result (traveling along the pipeline)
|
private |
The handler of our operation.