Sirikata
|
#include <HttpManager.hpp>
Classes | |
struct | CaseInsensitiveStringLess |
class | HttpRequest |
class | HttpResponse |
struct | MultipartData |
Represents one field in a multipart/form-data. More... | |
Public Types | |
enum | ERR_TYPE { SUCCESS, REQUEST_PARSING_FAILED, RESPONSE_PARSING_FAILED, BOOST_ERROR } |
enum | HTTP_METHOD { HEAD, GET, POST } |
typedef std::map< std::string, std::string > | StringDictionary |
typedef std::map< std::string, std::string, CaseInsensitiveStringLess > | CaseInsensitiveStringDictionary |
typedef CaseInsensitiveStringDictionary | Headers |
typedef StringDictionary | QueryParameters |
typedef std::vector < MultipartData > | MultipartDataList |
typedef std::tr1::shared_ptr < HttpResponse > | HttpResponsePtr |
typedef std::tr1::function < void(std::tr1::shared_ptr < HttpResponse > response, ERR_TYPE error, const boost::system::error_code &boost_error)> | HttpCallback |
Public Member Functions | |
void | makeRequest (Sirikata::Network::Address addr, HTTP_METHOD method, std::string req, bool allow_redirects, HttpCallback cb) |
Makes an HTTP request and calls cb when finished. | |
void | makeRequest (Sirikata::Network::Address addr, HTTP_METHOD method, const String &path, HttpCallback cb, const Headers &headers=Headers(), const QueryParameters &query_params=QueryParameters(), const String &body="", bool allow_redirects=true) |
Formats and makes an HTTP request and calls cb when finished. | |
void | head (Sirikata::Network::Address addr, const String &path, HttpCallback cb, const Headers &headers=Headers(), const QueryParameters &query_params=QueryParameters(), bool allow_redirects=true) |
void | get (Sirikata::Network::Address addr, const String &path, HttpCallback cb, const Headers &headers=Headers(), const QueryParameters &query_params=QueryParameters(), bool allow_redirects=true) |
void | post (Sirikata::Network::Address addr, const String &path, const String &content_type, const String &body, HttpCallback cb, const Headers &headers=Headers(), const QueryParameters &query_params=QueryParameters(), bool allow_redirects=true) |
Perform an HTTP POST using the specified content type and message body. | |
void | postURLEncoded (Sirikata::Network::Address addr, const String &path, const StringDictionary &body, HttpCallback cb, const Headers &headers=Headers(), const QueryParameters &query_params=QueryParameters(), bool allow_redirects=true) |
Perform a HTTP POST whose body is x-www-form-urlencoded parameters. | |
void | postMultipartForm (Sirikata::Network::Address addr, const String &path, const MultipartDataList &data, HttpCallback cb, const Headers &headers=Headers(), const QueryParameters &query_params=QueryParameters(), bool allow_redirects=true) |
Perform a HTTP POST whose body is multipart/form-data encoded body. | |
void | postCallback (IOCallback cb, const char *tag) |
void | postCallback (const Duration &waitFor, IOCallback cb, const char *tag) |
Static Public Member Functions | |
static HttpManager & | getSingleton () |
static void | destroy () |
static String | methodAsString (HTTP_METHOD m) |
static String | formatURLEncodedDictionary (const StringDictionary &query_params) |
static String | formatPath (const String &path, const QueryParameters &query_params) |
static String | formatURL (const String &host, const String &service, const String &path, const QueryParameters &query_params) |
Protected Types | |
enum | LAST_HEADER_CB { NONE, FIELD, VALUE } |
Protected Member Functions | |
HttpManager () | |
~HttpManager () | |
friend | std::auto_ptr () |
Static Protected Member Functions | |
static void | formatURLEncodedDictionary (std::ostream &os, const StringDictionary &query_params) |
static void | formatPath (std::ostream &os, const String &path, const QueryParameters &query_params) |
Private Types | |
enum | HTTP_PARSER_FLAGS { F_CHUNKED = 1 << 0, F_CONNECTION_KEEP_ALIVE = 1 << 1, F_CONNECTION_CLOSE = 1 << 2, F_TRAILING = 1 << 3, F_UPGRADE = 1 << 4, F_SKIPBODY = 1 << 5 } |
typedef Sirikata::Network::IOServicePool | IOServicePool |
typedef Sirikata::Network::TCPResolver | TCPResolver |
typedef Sirikata::Network::TCPSocket | TCPSocket |
typedef Sirikata::Network::IOWork | IOWork |
typedef Sirikata::Network::IOCallback | IOCallback |
typedef boost::asio::ip::tcp::endpoint | TCPEndPoint |
typedef std::list < std::tr1::shared_ptr < HttpRequest > > | RequestQueueType |
typedef std::map < Sirikata::Network::Address, uint32 > | NumConnsType |
typedef std::map < Sirikata::Network::Address, std::queue < std::tr1::shared_ptr < TCPSocket > > > | RecycleBinType |
Private Member Functions | |
void | processQueue () |
void | add_req (std::tr1::shared_ptr< HttpRequest > req) |
void | decrement_connection (const Sirikata::Network::Address &addr) |
void | write_request (std::tr1::shared_ptr< TCPSocket > socket, std::tr1::shared_ptr< HttpRequest > req) |
void | handle_resolve (std::tr1::shared_ptr< HttpRequest > req, const boost::system::error_code &err, TCPResolver::iterator endpoint_iterator) |
void | handle_connect (std::tr1::shared_ptr< TCPSocket > socket, std::tr1::shared_ptr< HttpRequest > req, const boost::system::error_code &err, TCPResolver::iterator endpoint_iterator) |
void | handle_write_request (std::tr1::shared_ptr< TCPSocket > socket, std::tr1::shared_ptr< HttpRequest > req, const boost::system::error_code &err, std::tr1::shared_ptr< boost::asio::streambuf > request_stream) |
void | handle_read (std::tr1::shared_ptr< TCPSocket > socket, std::tr1::shared_ptr< HttpRequest > req, std::tr1::shared_ptr< std::vector< unsigned char > > vecbuf, std::tr1::shared_ptr< HttpResponse > respPtr, const boost::system::error_code &err, std::size_t bytes_transferred) |
Static Private Member Functions | |
static int | on_header_field (http_parser *_, const char *at, size_t len) |
static int | on_header_value (http_parser *_, const char *at, size_t len) |
static int | on_headers_complete (http_parser *_) |
static int | on_body (http_parser *_, const char *at, size_t len) |
static int | on_message_complete (http_parser *_) |
static int | on_request_header_field (http_parser *_, const char *at, size_t len) |
static int | on_request_header_value (http_parser *_, const char *at, size_t len) |
static int | on_request_headers_complete (http_parser *_) |
static void | print_flags (std::tr1::shared_ptr< HttpResponse > resp) |
Private Attributes | |
RequestQueueType | mRequestQueue |
boost::mutex | mRequestQueueLock |
uint32 | mNumTotalConnections |
NumConnsType | mNumConnsPerAddr |
boost::mutex | mNumConnsLock |
RecycleBinType | mRecycleBin |
boost::mutex | mRecycleBinLock |
IOServicePool * | mServicePool |
TCPResolver * | mResolver |
http_parser_settings | EMPTY_PARSER_SETTINGS |
Static Private Attributes | |
static const uint32 | MAX_CONNECTIONS_PER_ENDPOINT = 8 |
static const uint32 | MAX_TOTAL_CONNECTIONS = 40 |
static const uint32 | SOCKET_BUFFER_SIZE = 10240 |
Friends | |
class | AutoSingleton< HttpManager > |
void | std::auto_ptr (HttpManager *) |
typedef std::map<std::string, std::string, CaseInsensitiveStringLess> Sirikata::Transfer::HttpManager::CaseInsensitiveStringDictionary |
typedef std::tr1::function<void( std::tr1::shared_ptr<HttpResponse> response, ERR_TYPE error, const boost::system::error_code& boost_error )> Sirikata::Transfer::HttpManager::HttpCallback |
typedef std::tr1::shared_ptr<HttpResponse> Sirikata::Transfer::HttpManager::HttpResponsePtr |
typedef Sirikata::Network::IOCallback Sirikata::Transfer::HttpManager::IOCallback [private] |
typedef Sirikata::Network::IOWork Sirikata::Transfer::HttpManager::IOWork [private] |
typedef std::vector<MultipartData> Sirikata::Transfer::HttpManager::MultipartDataList |
typedef std::map<Sirikata::Network::Address, uint32> Sirikata::Transfer::HttpManager::NumConnsType [private] |
typedef std::map<Sirikata::Network::Address, std::queue<std::tr1::shared_ptr<TCPSocket> > > Sirikata::Transfer::HttpManager::RecycleBinType [private] |
typedef std::list<std::tr1::shared_ptr<HttpRequest> > Sirikata::Transfer::HttpManager::RequestQueueType [private] |
typedef std::map<std::string, std::string> Sirikata::Transfer::HttpManager::StringDictionary |
typedef boost::asio::ip::tcp::endpoint Sirikata::Transfer::HttpManager::TCPEndPoint [private] |
typedef Sirikata::Network::TCPResolver Sirikata::Transfer::HttpManager::TCPResolver [private] |
typedef Sirikata::Network::TCPSocket Sirikata::Transfer::HttpManager::TCPSocket [private] |
enum Sirikata::Transfer::HttpManager::HTTP_PARSER_FLAGS [private] |
enum Sirikata::Transfer::HttpManager::LAST_HEADER_CB [protected] |
Sirikata::Transfer::HttpManager::HttpManager | ( | ) | [protected] |
Sirikata::Transfer::HttpManager::~HttpManager | ( | ) | [protected] |
void Sirikata::Transfer::HttpManager::add_req | ( | std::tr1::shared_ptr< HttpRequest > | req | ) | [private] |
References mRequestQueue, and mRequestQueueLock.
Referenced by handle_connect(), handle_read(), handle_resolve(), handle_write_request(), and makeRequest().
void Sirikata::Transfer::HttpManager::decrement_connection | ( | const Sirikata::Network::Address & | addr | ) | [private] |
References mNumConnsLock, mNumConnsPerAddr, and mNumTotalConnections.
Referenced by handle_connect(), handle_read(), handle_resolve(), and handle_write_request().
void Sirikata::Transfer::HttpManager::destroy | ( | ) | [static] |
Reimplemented from Sirikata::AutoSingleton< HttpManager >.
void Sirikata::Transfer::HttpManager::formatPath | ( | std::ostream & | os, |
const String & | path, | ||
const QueryParameters & | query_params | ||
) | [static, protected] |
References formatURLEncodedDictionary().
String Sirikata::Transfer::HttpManager::formatPath | ( | const String & | path, |
const QueryParameters & | query_params | ||
) | [static] |
Referenced by formatURL(), and makeRequest().
String Sirikata::Transfer::HttpManager::formatURL | ( | const String & | host, |
const String & | service, | ||
const String & | path, | ||
const QueryParameters & | query_params | ||
) | [static] |
String Sirikata::Transfer::HttpManager::formatURLEncodedDictionary | ( | const StringDictionary & | query_params | ) | [static] |
Referenced by formatPath(), Sirikata::Transfer::OAuthHttpManager::postURLEncoded(), and postURLEncoded().
void Sirikata::Transfer::HttpManager::formatURLEncodedDictionary | ( | std::ostream & | os, |
const StringDictionary & | query_params | ||
) | [static, protected] |
void Sirikata::Transfer::HttpManager::get | ( | Sirikata::Network::Address | addr, |
const String & | path, | ||
HttpCallback | cb, | ||
const Headers & | headers = Headers() , |
||
const QueryParameters & | query_params = QueryParameters() , |
||
bool | allow_redirects = true |
||
) |
References GET, and makeRequest().
Referenced by Sirikata::HttpServerIDMap::startLookup().
HttpManager & Sirikata::Transfer::HttpManager::getSingleton | ( | ) | [static] |
Reimplemented from Sirikata::AutoSingleton< HttpManager >.
Referenced by Sirikata::Transfer::UploadRequest::execute_finished(), Sirikata::Transfer::DirectChunkRequest::execute_finished(), Sirikata::Transfer::ChunkRequest::execute_finished(), Sirikata::JS::EmersonHttpManager::makeRequest(), Sirikata::Transfer::UploadRequest::notifyCaller(), Sirikata::Transfer::DirectChunkRequest::notifyCaller(), Sirikata::Transfer::ChunkRequest::notifyCaller(), Sirikata::Transfer::OAuthHttpManager::post(), and Sirikata::HttpServerIDMap::startLookup().
void Sirikata::Transfer::HttpManager::handle_connect | ( | std::tr1::shared_ptr< TCPSocket > | socket, |
std::tr1::shared_ptr< HttpRequest > | req, | ||
const boost::system::error_code & | err, | ||
TCPResolver::iterator | endpoint_iterator | ||
) | [private] |
References add_req(), BOOST_ERROR, decrement_connection(), Sirikata::Logging::error, processQueue(), SILOG, and write_request().
Referenced by handle_resolve().
void Sirikata::Transfer::HttpManager::handle_read | ( | std::tr1::shared_ptr< TCPSocket > | socket, |
std::tr1::shared_ptr< HttpRequest > | req, | ||
std::tr1::shared_ptr< std::vector< unsigned char > > | vecbuf, | ||
std::tr1::shared_ptr< HttpResponse > | respPtr, | ||
const boost::system::error_code & | err, | ||
std::size_t | bytes_transferred | ||
) | [private] |
References add_req(), BOOST_ERROR, decrement_connection(), Sirikata::Logging::detailed, Sirikata::Logging::error, F_CONNECTION_CLOSE, Sirikata::Transfer::URL::fullpath(), GET, HEAD, Sirikata::Logging::insane, makeRequest(), methodAsString(), mRecycleBin, mRecycleBinLock, POST, processQueue(), RESPONSE_PARSING_FAILED, SILOG, SUCCESS, and Sirikata::Logging::warning.
Referenced by handle_write_request().
void Sirikata::Transfer::HttpManager::handle_resolve | ( | std::tr1::shared_ptr< HttpRequest > | req, |
const boost::system::error_code & | err, | ||
TCPResolver::iterator | endpoint_iterator | ||
) | [private] |
References add_req(), BOOST_ERROR, decrement_connection(), Sirikata::Logging::error, handle_connect(), mServicePool, processQueue(), Sirikata::Network::IOServicePool::service(), and SILOG.
Referenced by processQueue().
void Sirikata::Transfer::HttpManager::handle_write_request | ( | std::tr1::shared_ptr< TCPSocket > | socket, |
std::tr1::shared_ptr< HttpRequest > | req, | ||
const boost::system::error_code & | err, | ||
std::tr1::shared_ptr< boost::asio::streambuf > | request_stream | ||
) | [private] |
void Sirikata::Transfer::HttpManager::head | ( | Sirikata::Network::Address | addr, |
const String & | path, | ||
HttpCallback | cb, | ||
const Headers & | headers = Headers() , |
||
const QueryParameters & | query_params = QueryParameters() , |
||
bool | allow_redirects = true |
||
) |
References HEAD, and makeRequest().
void Sirikata::Transfer::HttpManager::makeRequest | ( | Sirikata::Network::Address | addr, |
HTTP_METHOD | method, | ||
std::string | req, | ||
bool | allow_redirects, | ||
HttpCallback | cb | ||
) |
Makes an HTTP request and calls cb when finished.
This is the lowest level version exposed publicly, taking a raw HTTP request, which you should ensure is properly formatted. Usually you should use the convenience wrappers that format the request for you.
References add_req(), EMPTY_PARSER_SETTINGS, on_request_header_field(), on_request_header_value(), on_request_headers_complete(), postCallback(), processQueue(), REQUEST_PARSING_FAILED, SILOG, and Sirikata::Logging::warning.
Referenced by get(), handle_read(), head(), Sirikata::JS::EmersonHttpManager::makeRequest(), makeRequest(), and post().
void Sirikata::Transfer::HttpManager::makeRequest | ( | Sirikata::Network::Address | addr, |
HTTP_METHOD | method, | ||
const String & | path, | ||
HttpCallback | cb, | ||
const Headers & | headers = Headers() , |
||
const QueryParameters & | query_params = QueryParameters() , |
||
const String & | body = "" , |
||
bool | allow_redirects = true |
||
) |
Formats and makes an HTTP request and calls cb when finished.
This version is a utility for the more specific request types (i.e. head() and get()).
addr | the address of the server |
method | the HTTP request method, i.e. HEAD, GET, or POST |
path | the path of the resource to access |
cb | callback to invoke upon completion |
headers | dictionary of headers to add to the request |
query_params | dictionary of unencoded query parameters to add to the url |
body | if non-empty, the encoded HTTP request body, i.e. the data provided after all the headers. If you provide this, you should probably include headers to specify it's format |
allow_redirects | if true, redirects will be followed, triggering a new requests |
References formatPath(), makeRequest(), and methodAsString().
String Sirikata::Transfer::HttpManager::methodAsString | ( | HTTP_METHOD | m | ) | [static] |
References GET, HEAD, and POST.
Referenced by handle_read(), and makeRequest().
int Sirikata::Transfer::HttpManager::on_body | ( | http_parser * | _, |
const char * | at, | ||
size_t | len | ||
) | [static, private] |
int Sirikata::Transfer::HttpManager::on_header_field | ( | http_parser * | _, |
const char * | at, | ||
size_t | len | ||
) | [static, private] |
References FIELD, Sirikata::Transfer::HttpManager::HttpResponse::mHeaders, Sirikata::Transfer::HttpManager::HttpResponse::mLastCallback, Sirikata::Transfer::HttpManager::HttpResponse::mTempHeaderField, Sirikata::Transfer::HttpManager::HttpResponse::mTempHeaderValue, NONE, and VALUE.
Referenced by handle_write_request().
int Sirikata::Transfer::HttpManager::on_header_value | ( | http_parser * | _, |
const char * | at, | ||
size_t | len | ||
) | [static, private] |
References FIELD, Sirikata::Transfer::HttpManager::HttpResponse::mLastCallback, Sirikata::Transfer::HttpManager::HttpResponse::mTempHeaderValue, NONE, and VALUE.
Referenced by handle_write_request().
int Sirikata::Transfer::HttpManager::on_headers_complete | ( | http_parser * | _ | ) | [static, private] |
References Sirikata::Transfer::HttpManager::HttpResponse::mContentLength, Sirikata::Transfer::HttpManager::HttpResponse::mGzip, Sirikata::Transfer::HttpManager::HttpResponse::mHeaderComplete, Sirikata::Transfer::HttpManager::HttpResponse::mHeaders, Sirikata::Transfer::HttpManager::HttpResponse::mLastCallback, Sirikata::Transfer::HttpManager::HttpResponse::mStatusCode, Sirikata::Transfer::HttpManager::HttpResponse::mTempHeaderField, Sirikata::Transfer::HttpManager::HttpResponse::mTempHeaderValue, and VALUE.
Referenced by handle_write_request().
int Sirikata::Transfer::HttpManager::on_message_complete | ( | http_parser * | _ | ) | [static, private] |
References Sirikata::Transfer::HttpManager::HttpResponse::mCompressedStream, Sirikata::Transfer::HttpManager::HttpResponse::mContentLength, Sirikata::Transfer::HttpManager::HttpResponse::mData, Sirikata::Transfer::HttpManager::HttpResponse::mGzip, and Sirikata::Transfer::HttpManager::HttpResponse::mMessageComplete.
Referenced by handle_write_request().
int Sirikata::Transfer::HttpManager::on_request_header_field | ( | http_parser * | _, |
const char * | at, | ||
size_t | len | ||
) | [static, private] |
References FIELD, Sirikata::Transfer::HttpManager::HttpRequest::mHeaders, Sirikata::Transfer::HttpManager::HttpRequest::mLastCallback, Sirikata::Transfer::HttpManager::HttpRequest::mTempHeaderField, Sirikata::Transfer::HttpManager::HttpRequest::mTempHeaderValue, NONE, and VALUE.
Referenced by makeRequest().
int Sirikata::Transfer::HttpManager::on_request_header_value | ( | http_parser * | _, |
const char * | at, | ||
size_t | len | ||
) | [static, private] |
References FIELD, Sirikata::Transfer::HttpManager::HttpRequest::mLastCallback, Sirikata::Transfer::HttpManager::HttpRequest::mTempHeaderValue, NONE, and VALUE.
Referenced by makeRequest().
int Sirikata::Transfer::HttpManager::on_request_headers_complete | ( | http_parser * | _ | ) | [static, private] |
References Sirikata::Transfer::HttpManager::HttpRequest::mHeaderComplete, Sirikata::Transfer::HttpManager::HttpRequest::mHeaders, Sirikata::Transfer::HttpManager::HttpRequest::mLastCallback, Sirikata::Transfer::HttpManager::HttpRequest::mTempHeaderField, Sirikata::Transfer::HttpManager::HttpRequest::mTempHeaderValue, and VALUE.
Referenced by makeRequest().
void Sirikata::Transfer::HttpManager::post | ( | Sirikata::Network::Address | addr, |
const String & | path, | ||
const String & | content_type, | ||
const String & | body, | ||
HttpCallback | cb, | ||
const Headers & | headers = Headers() , |
||
const QueryParameters & | query_params = QueryParameters() , |
||
bool | allow_redirects = true |
||
) |
Perform an HTTP POST using the specified content type and message body.
This can be used if you want to use an unusual encoding or as a utility for other, more specific post methods.
References makeRequest(), and POST.
Referenced by Sirikata::Transfer::OAuthHttpManager::post(), postMultipartForm(), and postURLEncoded().
void Sirikata::Transfer::HttpManager::postCallback | ( | const Duration & | waitFor, |
IOCallback | cb, | ||
const char * | tag | ||
) |
void Sirikata::Transfer::HttpManager::postCallback | ( | IOCallback | cb, |
const char * | tag | ||
) |
References mServicePool, Sirikata::Network::IOService::post(), and Sirikata::Network::IOServicePool::service().
Referenced by Sirikata::Transfer::UploadRequest::execute_finished(), Sirikata::Transfer::DirectChunkRequest::execute_finished(), Sirikata::Transfer::ChunkRequest::execute_finished(), makeRequest(), Sirikata::Transfer::UploadRequest::notifyCaller(), Sirikata::Transfer::DirectChunkRequest::notifyCaller(), and Sirikata::Transfer::ChunkRequest::notifyCaller().
void Sirikata::Transfer::HttpManager::postMultipartForm | ( | Sirikata::Network::Address | addr, |
const String & | path, | ||
const MultipartDataList & | data, | ||
HttpCallback | cb, | ||
const Headers & | headers = Headers() , |
||
const QueryParameters & | query_params = QueryParameters() , |
||
bool | allow_redirects = true |
||
) |
Perform a HTTP POST whose body is multipart/form-data encoded body.
References Sirikata::Transfer::HttpManager::MultipartData::data, Sirikata::Transfer::HttpManager::MultipartData::field, Sirikata::Transfer::HttpManager::MultipartData::filename, Sirikata::Transfer::HttpManager::MultipartData::headers, post(), Sirikata::UUID::random(), and Sirikata::UUID::rawHexData().
void Sirikata::Transfer::HttpManager::postURLEncoded | ( | Sirikata::Network::Address | addr, |
const String & | path, | ||
const StringDictionary & | body, | ||
HttpCallback | cb, | ||
const Headers & | headers = Headers() , |
||
const QueryParameters & | query_params = QueryParameters() , |
||
bool | allow_redirects = true |
||
) |
Perform a HTTP POST whose body is x-www-form-urlencoded parameters.
References formatURLEncodedDictionary(), and post().
void Sirikata::Transfer::HttpManager::print_flags | ( | std::tr1::shared_ptr< HttpResponse > | resp | ) | [static, private] |
References Sirikata::Logging::detailed, F_CHUNKED, F_CONNECTION_CLOSE, F_CONNECTION_KEEP_ALIVE, F_SKIPBODY, F_TRAILING, F_UPGRADE, and SILOG.
void Sirikata::Transfer::HttpManager::processQueue | ( | ) | [private] |
References Sirikata::Logging::error, handle_resolve(), Sirikata::Logging::insane, MAX_CONNECTIONS_PER_ENDPOINT, MAX_TOTAL_CONNECTIONS, mNumConnsLock, mNumConnsPerAddr, mNumTotalConnections, mRecycleBin, mRecycleBinLock, mRequestQueue, mRequestQueueLock, mResolver, SILOG, and write_request().
Referenced by handle_connect(), handle_read(), handle_resolve(), handle_write_request(), and makeRequest().
Sirikata::Transfer::HttpManager::std::auto_ptr | ( | ) | [protected] |
void Sirikata::Transfer::HttpManager::write_request | ( | std::tr1::shared_ptr< TCPSocket > | socket, |
std::tr1::shared_ptr< HttpRequest > | req | ||
) | [private] |
References Sirikata::Logging::error, and handle_write_request().
Referenced by handle_connect(), and processQueue().
friend class AutoSingleton< HttpManager > [friend] |
void std::auto_ptr | ( | HttpManager * | ) | [friend] |
http_parser_settings Sirikata::Transfer::HttpManager::EMPTY_PARSER_SETTINGS [private] |
Referenced by handle_write_request(), HttpManager(), and makeRequest().
const uint32 Sirikata::Transfer::HttpManager::MAX_CONNECTIONS_PER_ENDPOINT = 8 [static, private] |
Referenced by processQueue().
const uint32 Sirikata::Transfer::HttpManager::MAX_TOTAL_CONNECTIONS = 40 [static, private] |
Referenced by processQueue().
boost::mutex Sirikata::Transfer::HttpManager::mNumConnsLock [private] |
Referenced by decrement_connection(), and processQueue().
Referenced by decrement_connection(), and processQueue().
uint32 Sirikata::Transfer::HttpManager::mNumTotalConnections [private] |
Referenced by decrement_connection(), and processQueue().
Referenced by handle_read(), processQueue(), and ~HttpManager().
boost::mutex Sirikata::Transfer::HttpManager::mRecycleBinLock [private] |
Referenced by handle_read(), and processQueue().
Referenced by add_req(), processQueue(), and ~HttpManager().
boost::mutex Sirikata::Transfer::HttpManager::mRequestQueueLock [private] |
Referenced by add_req(), and processQueue().
Referenced by HttpManager(), processQueue(), and ~HttpManager().
Referenced by handle_resolve(), HttpManager(), postCallback(), and ~HttpManager().
const uint32 Sirikata::Transfer::HttpManager::SOCKET_BUFFER_SIZE = 10240 [static, private] |
Referenced by handle_write_request().