LLCurl::Multi Class Reference

List of all members.

Public Member Functions

 Multi ()
 ~Multi ()
EasyallocEasy ()
bool addEasy (Easy *easy)
void removeEasy (Easy *easy)
S32 process ()
S32 perform ()
CURLMsg * info_read (S32 *msgs_in_queue)

Public Attributes

S32 mQueued
S32 mErrorCount

Private Types

typedef std::set< Easy * > easy_active_list_t
typedef std::map< CURL *, Easy * > easy_active_map_t
typedef std::set< Easy * > easy_free_list_t

Private Member Functions

 LOG_CLASS (Multi)
void easyFree (Easy *)

Private Attributes

CURLM * mCurlMultiHandle
easy_active_list_t mEasyActiveList
easy_active_map_t mEasyActiveMap
easy_free_list_t mEasyFreeList


Detailed Description

Definition at line 479 of file llcurl.cpp.


Member Typedef Documentation

typedef std::set<Easy*> LLCurl::Multi::easy_active_list_t [private]

Definition at line 505 of file llcurl.cpp.

typedef std::map<CURL*, Easy*> LLCurl::Multi::easy_active_map_t [private]

Definition at line 507 of file llcurl.cpp.

typedef std::set<Easy*> LLCurl::Multi::easy_free_list_t [private]

Definition at line 509 of file llcurl.cpp.


Constructor & Destructor Documentation

LLCurl::Multi::Multi (  ) 

Definition at line 513 of file llcurl.cpp.

References gCurlEasyCount, gCurlMultiCount, llassert_always, llendl, llwarns, and mCurlMultiHandle.

LLCurl::Multi::~Multi (  ) 

Definition at line 527 of file llcurl.cpp.

References gCurlMultiCount, LLCurl::Easy::getCurlHandle(), mCurlMultiHandle, mEasyActiveList, mEasyActiveMap, and mEasyFreeList.

Here is the call graph for this function:


Member Function Documentation

LLCurl::Multi::LOG_CLASS ( Multi   )  [private]

LLCurl::Easy * LLCurl::Multi::allocEasy (  ) 

Definition at line 609 of file llcurl.cpp.

References LLCurl::Easy::getCurlHandle(), LLCurl::Easy::getEasy(), mEasyActiveList, mEasyActiveMap, and mEasyFreeList.

Referenced by LLCurlRequest::allocEasy(), and LLCurlEasyRequest::LLCurlEasyRequest().

Here is the call graph for this function:

Here is the caller graph for this function:

bool LLCurl::Multi::addEasy ( Easy easy  ) 

Definition at line 630 of file llcurl.cpp.

References LLCurl::Easy::getCurlHandle(), llendl, llwarns, and mCurlMultiHandle.

Referenced by LLCurlRequest::addEasy(), and LLCurlEasyRequest::sendRequest().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLCurl::Multi::removeEasy ( Easy easy  ) 

Definition at line 656 of file llcurl.cpp.

References easyFree(), LLCurl::Easy::getCurlHandle(), and mCurlMultiHandle.

Referenced by process(), and LLCurlEasyRequest::requestComplete().

Here is the call graph for this function:

Here is the caller graph for this function:

S32 LLCurl::Multi::process (  ) 

Definition at line 572 of file llcurl.cpp.

References info_read(), llendl, llerrs, mEasyActiveMap, mErrorCount, perform(), removeEasy(), LLCurl::Easy::report(), and S32.

Referenced by LLCurlRequest::process().

Here is the call graph for this function:

Here is the caller graph for this function:

S32 LLCurl::Multi::perform (  ) 

Definition at line 555 of file llcurl.cpp.

References mCurlMultiHandle, mQueued, MULTI_PERFORM_CALL_REPEAT, and S32.

Referenced by LLCurlEasyRequest::perform(), and process().

Here is the caller graph for this function:

CURLMsg * LLCurl::Multi::info_read ( S32 msgs_in_queue  ) 

Definition at line 548 of file llcurl.cpp.

References mCurlMultiHandle.

Referenced by LLCurlEasyRequest::info_read(), and process().

Here is the caller graph for this function:

void LLCurl::Multi::easyFree ( Easy easy  )  [private]

Definition at line 641 of file llcurl.cpp.

References EASY_HANDLE_POOL_SIZE, LLCurl::Easy::getCurlHandle(), mEasyActiveList, mEasyActiveMap, mEasyFreeList, and LLCurl::Easy::resetState().

Referenced by removeEasy().

Here is the call graph for this function:

Here is the caller graph for this function:


Member Data Documentation

Definition at line 497 of file llcurl.cpp.

Referenced by LLCurlRequest::getQueued(), perform(), and LLCurlRequest::process().

Definition at line 498 of file llcurl.cpp.

Referenced by LLCurlRequest::allocEasy(), and process().

Definition at line 503 of file llcurl.cpp.

Referenced by addEasy(), info_read(), Multi(), perform(), removeEasy(), and ~Multi().

Definition at line 506 of file llcurl.cpp.

Referenced by allocEasy(), easyFree(), and ~Multi().

Definition at line 508 of file llcurl.cpp.

Referenced by allocEasy(), easyFree(), process(), and ~Multi().

Definition at line 510 of file llcurl.cpp.

Referenced by allocEasy(), easyFree(), and ~Multi().


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

Generated on Fri May 16 08:43:29 2008 for SecondLife by  doxygen 1.5.5