bes  Updated for version 3.20.6
dmrpp::dmrpp_multi_handle Class Reference

Encapsulate a libcurl multi handle. More...

#include <CurlHandlePool.h>

Collaboration diagram for dmrpp::dmrpp_multi_handle:
Collaboration graph

Public Member Functions

void add_easy_handle (dmrpp_easy_handle *eh)
 Add an Easy Handle to a Multi Handle object. More...
 
void read_data ()
 The read_data() method for parallel transfers. More...
 

Detailed Description

Encapsulate a libcurl multi handle.

Definition at line 83 of file CurlHandlePool.h.

Member Function Documentation

◆ add_easy_handle()

void dmrpp_multi_handle::add_easy_handle ( dmrpp_easy_handle eh)

Add an Easy Handle to a Multi Handle object.

Note
It is the responsibility of the caller to make sure there are not too many handles added to the 'multi handle' object.
Parameters
ehThe CURL easy handle to add

Definition at line 400 of file CurlHandlePool.cc.

◆ read_data()

void dmrpp_multi_handle::read_data ( )

The read_data() method for parallel transfers.

This uses either the CURL Multi API or pthreads to read N dmrpp_easy_handle instances in parallel.

Todo:
This has to be fixed to restart 500 HTTP errors and to clean up after threads if there's an exception.
Note
It's the responsibility of the caller to make sure that no more than d_max_parallel_transfers are added to the 'multi' handle.

Definition at line 439 of file CurlHandlePool.cc.


The documentation for this class was generated from the following files: