#include <librets/CurlMulti.h>
Public Member Functions | |
CurlMulti () | |
~CurlMulti () | |
void | AddEasy (CurlEasyPtr curlEasy) |
Add a libcurl "easy" handle to the multi handle and place it on the in use vector. | |
CurlEasyPtr | EasyFactory () |
Returns a pointer to a CurlEasy object that can be used for an http request. | |
void | FreeEasy (CurlEasyPtr curlEasy) |
Add the "easy" handle back to the available queue. | |
curl_slist * | GetCookieSlist () |
Returns the curl cookie slist. | |
CURLM * | GetMultiHandle () |
Returns the libcurl handle used by this object. | |
int | GetPriorRunning () |
Returns the number of requests that were running at the beginning of this iteration. | |
int | GetStillRunning () |
Returns the number of reqeusts still running. | |
void | Perform () |
Perform a multi operation. | |
void | RemoveEasy (CurlEasyPtr curlEasy) |
Remove the provided libcurl "easy" handle from this class and libcurl. | |
bool | StillRunning () |
Determine whether or not the current http request is still in progress with libcurl. |
It is used in support of the "streaming" enhancement to libRETS.
CurlMulti | ( | ) |
~CurlMulti | ( | ) |
void AddEasy | ( | CurlEasyPtr | curlEasy | ) |
Add a libcurl "easy" handle to the multi handle and place it on the in use vector.
curlEasy | A pointer to a CurlEasy object. |
CurlEasyPtr EasyFactory | ( | ) |
void FreeEasy | ( | CurlEasyPtr | curlEasy | ) |
Add the "easy" handle back to the available queue.
curlEasy | A pointer to a CurlEasy object. |
curl_slist* GetCookieSlist | ( | ) |
Returns the curl cookie slist.
CURLM* GetMultiHandle | ( | ) |
Returns the libcurl handle used by this object.
int GetPriorRunning | ( | ) |
Returns the number of requests that were running at the beginning of this iteration.
int GetStillRunning | ( | ) |
Returns the number of reqeusts still running.
void Perform | ( | ) |
Perform a multi operation.
The caller will need to handle the determination as to whether enough data has arrived and if not, call Perform() again in a loop.
RetsException |
void RemoveEasy | ( | CurlEasyPtr | curlEasy | ) |
Remove the provided libcurl "easy" handle from this class and libcurl.
curlEasy | A reference to the CurlEasy object to remove. |
bool StillRunning | ( | ) |
Determine whether or not the current http request is still in progress with libcurl.