#include <XrdClOperations.hh>


Public Member Functions | |
| PipelineHandler (ResponseHandler *handler, bool own) | |
| 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 (std::promise< XRootDStatus > prms, std::function< void(const XRootDStatus &)> final) |
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 | |
| ResponseHandler * | responseHandler |
| The handler of our operation. | |
| bool | ownHandler |
| true, if we own the handler | |
| std::unique_ptr< Operation < true > > | nextOperation |
| Next operation in the pipeline. | |
| std::promise< XRootDStatus > | prms |
| The promise that there will be a result (traveling along the pipeline). | |
| std::function< void(const XRootDStatus &)> | final |
Friends | |
| 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 |
| void XrdCl::PipelineHandler::dealloc | ( | XRootDStatus * | status, | |
| AnyObject * | response, | |||
| HostList * | hostList | |||
| ) | [inline, private] |
| void XrdCl::PipelineHandler::HandleResponse | ( | XRootDStatus * | status, | |
| AnyObject * | response | |||
| ) | [virtual] |
Callback function.
Reimplemented from XrdCl::ResponseHandler.
Referenced by XrdCl::ParallelOperation< HasHndl >::Ctx::Handle().
| void XrdCl::PipelineHandler::HandleResponseImpl | ( | XRootDStatus * | status, | |
| AnyObject * | response, | |||
| HostList * | hostList = nullptr | |||
| ) | [private] |
Callback function implementation;.
| void XrdCl::PipelineHandler::HandleResponseWithHosts | ( | XRootDStatus * | status, | |
| AnyObject * | response, | |||
| HostList * | hostList | |||
| ) | [virtual] |
Callback function.
Reimplemented from XrdCl::ResponseHandler.
friend class Operation [friend] |
std::function<void(const XRootDStatus&)> XrdCl::PipelineHandler::final [private] |
The lambda/function/functor that should be called at the end of the pipeline (traveling along the pipeline)
std::unique_ptr<Operation<true> > XrdCl::PipelineHandler::nextOperation [private] |
Next operation in the pipeline.
bool XrdCl::PipelineHandler::ownHandler [private] |
true, if we own the handler
std::promise<XRootDStatus> XrdCl::PipelineHandler::prms [private] |
The promise that there will be a result (traveling along the pipeline).
The handler of our operation.
1.6.1