Handles multiple asynchronous HTTP requests using libcurl's multi interface.
More...
#include <HttpBatchRequestHandler.hpp>
Handles multiple asynchronous HTTP requests using libcurl's multi interface.
Definition at line 12 of file HttpBatchRequestHandler.hpp.
◆ HttpBatchRequestHandler()
kurlyk::HttpBatchRequestHandler::HttpBatchRequestHandler |
( |
std::vector< std::unique_ptr< HttpRequestContext > > & | context_list | ) |
|
|
inlineexplicit |
◆ ~HttpBatchRequestHandler()
kurlyk::HttpBatchRequestHandler::~HttpBatchRequestHandler |
( |
| ) |
|
|
inline |
◆ cancel_request_by_id()
void kurlyk::HttpBatchRequestHandler::cancel_request_by_id |
( |
const std::unordered_map< uint64_t, std::list< std::function< void()> > > & | to_cancel | ) |
|
|
inline |
Cancels HTTP requests based on their unique IDs.
- Parameters
-
to_cancel | A map of request IDs to their corresponding cancellation callbacks. |
Definition at line 70 of file HttpBatchRequestHandler.hpp.
◆ extract_failed_requests()
std::list< std::unique_ptr< HttpRequestContext > > kurlyk::HttpBatchRequestHandler::extract_failed_requests |
( |
| ) |
|
|
inline |
◆ handle_completed_request()
void kurlyk::HttpBatchRequestHandler::handle_completed_request |
( |
CURLMsg * | message | ) |
|
|
inlineprivate |
Handles the completion of a single request.
- Parameters
-
message | CURLMsg structure containing the result of the completed request. |
Definition at line 91 of file HttpBatchRequestHandler.hpp.
◆ process()
bool kurlyk::HttpBatchRequestHandler::process |
( |
| ) |
|
|
inline |
Processes the requests within the handler.
- Returns
- True if all requests are completed, false otherwise.
Definition at line 45 of file HttpBatchRequestHandler.hpp.
◆ m_failed_requests
std::list<std::unique_ptr<HttpRequestContext> > kurlyk::HttpBatchRequestHandler::m_failed_requests |
|
private |
◆ m_handlers
std::vector<std::unique_ptr<HttpRequestHandler> > kurlyk::HttpBatchRequestHandler::m_handlers |
|
private |
◆ m_multi_handle
CURLM* kurlyk::HttpBatchRequestHandler::m_multi_handle = nullptr |
|
private |
The documentation for this class was generated from the following file: