Print info in texture console about curl request queuing
This includes also non-texture requests (not sure if it's worth it to explicitely separate this data for just textures). The texture console now prints: HTTP:c/q/a/r Where, c = number of 'add' request commands in the command queue (minus the number of 'remove' request in the command queue and not taking into account the command_being_processed, nor entirely being thread-safe with regard to adding requests to 'q' or 'a' next: it is possible that a request is no longer counted in 'c' but not yet is added to 'q' or 'a'. q = number of queued (throttled) requests (by the curl thread). a = number of actually added requests (to the multi handle). r = last returned value of 'running handles' by libcurl. Obviously, c and q should be small (0 or 1) most of the time and a and r should be equal and maxed out. This turns out to be the case.
This commit is contained in:
@@ -2505,5 +2505,23 @@ bool handleNoVerifySSLCert(LLSD const& newvalue)
|
||||
return true;
|
||||
}
|
||||
|
||||
U32 getNumHTTPCommands(void)
|
||||
{
|
||||
using namespace AICurlPrivate;
|
||||
|
||||
command_queue_rat command_queue_r(command_queue);
|
||||
return command_queue_r->size;
|
||||
}
|
||||
|
||||
U32 getNumHTTPQueued(void)
|
||||
{
|
||||
return AIPerHostRequestQueue::total_queued_size();
|
||||
}
|
||||
|
||||
U32 getNumHTTPAdded(void)
|
||||
{
|
||||
return AICurlPrivate::curlthread::MultiHandle::total_added_size();
|
||||
}
|
||||
|
||||
} // namespace AICurlInterface
|
||||
|
||||
|
||||
Reference in New Issue
Block a user