xrootd
|
#include <XrdClOperations.hh>
Public Member Functions | |
PipelineHandler (ResponseHandler *handler, bool own) | |
PipelineHandler () | |
Default Constructor. More... | |
void | HandleResponseWithHosts (XRootDStatus *status, AnyObject *response, HostList *hostList) |
Callback function. More... | |
void | HandleResponse (XRootDStatus *status, AnyObject *response) |
Callback function. More... | |
~PipelineHandler () | |
Destructor. More... | |
void | AddOperation (Operation< true > *operation) |
void | Assign (std::promise< XRootDStatus > prms, std::function< void(const XRootDStatus &)> final) |
![]() | |
virtual | ~ResponseHandler () |
Private Member Functions | |
void | HandleResponseImpl (XRootDStatus *status, AnyObject *response, HostList *hostList=nullptr) |
Callback function implementation;. More... | |
void | dealloc (XRootDStatus *status, AnyObject *response, HostList *hostList) |
Private Attributes | |
ResponseHandler * | responseHandler |
The handler of our operation. More... | |
bool | ownHandler |
true, if we own the handler More... | |
std::unique_ptr< Operation < true > > | nextOperation |
Next operation in the pipeline. More... | |
std::promise< XRootDStatus > | prms |
The promise that there will be a result (traveling along the pipeline) More... | |
std::function< void(const XRootDStatus &)> | final |
Friends | |
template<bool > | |
class | Operation |
Wrapper for ResponseHandler, used only internally to run next operation after previous one is finished
XrdCl::PipelineHandler::PipelineHandler | ( | ResponseHandler * | handler, |
bool | own | ||
) |
Constructor.
handler | : the handler of our operation |
own | : if true we have the ownership of handler (it's memory), and it is our responsibility to deallocate it |
XrdCl::PipelineHandler::PipelineHandler | ( | ) |
Default Constructor.
XrdCl::PipelineHandler::~PipelineHandler | ( | ) |
Destructor.
void XrdCl::PipelineHandler::AddOperation | ( | Operation< true > * | operation | ) |
Add new operation to the pipeline
operation | : operation to add |
void XrdCl::PipelineHandler::Assign | ( | std::promise< XRootDStatus > | prms, |
std::function< void(const XRootDStatus &)> | final | ||
) |
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 |
|
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.
|
friend |
|
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 |
true, if we own the handler
|
private |
The promise that there will be a result (traveling along the pipeline)
|
private |
The handler of our operation.