Add a PerHostRequestQueue object.
Adds a std::map for hostname (or urls) --> PerHostRequestQueue objects. The latter keeps track of the number of added curl easy requests and decides if a new request should be throttled or not, as well as provides the queue to queue throttled requests. At the moment CurlConcurrentConnectionsPerHost is set to 16, because things really don't work without LL supporting connection reuse if we limit it to 2. CurlConcurrentConnectionsPerHost is also set to non-persistent so that we can easily change it in the future (once we decide on it's final value it can be set to persistent).
This commit is contained in:
@@ -24,6 +24,7 @@ include_directories(
|
||||
set(llmessage_SOURCE_FILES
|
||||
aicurl.cpp
|
||||
aicurleasyrequeststatemachine.cpp
|
||||
aicurlperhost.cpp
|
||||
aicurlthread.cpp
|
||||
aihttpheaders.cpp
|
||||
aihttptimeoutpolicy.cpp
|
||||
@@ -113,6 +114,7 @@ set(llmessage_HEADER_FILES
|
||||
aicurl.h
|
||||
aicurleasyrequeststatemachine.h
|
||||
aicurlprivate.h
|
||||
aicurlperhost.h
|
||||
aicurlthread.h
|
||||
aihttpheaders.h
|
||||
aihttptimeoutpolicy.h
|
||||
|
||||
Reference in New Issue
Block a user