Do not count long poll connections against CurlConcurrentConnectionsPerService

This is necessary for opensim mega regions that can have up to 16 long
poll connections for a single service, while upping the maximum number
of connections per service just for that is clearly nonsense.

I also changed that long poll connections do not "use" the "Other"
capability type (which shows that the debug info in the HTTP debug
console for the Other capability type turns grey when it only has event
poll connections). As a result additional connections become available
for textures, mesh and the inventory (the other capability types) on
opensim, which has all types on the same service, because now Other
does no longer constantly reserves a full share of the available
connections. This makes the actual number of connections used for
textures and mesh a lot more like it is on Second Life.
This commit is contained in:
Aleric Inglewood
2013-09-30 17:31:17 +02:00
parent 227c621dad
commit 723f4963e0
8 changed files with 81 additions and 12 deletions

View File

@@ -80,6 +80,7 @@ void AIServiceBar::draw()
U32 is_used;
U32 is_inuse;
int total_added;
int event_polls;
int established_connections;
int concurrent_connections;
size_t bandwidth;
@@ -88,6 +89,7 @@ void AIServiceBar::draw()
is_used = per_service_r->is_used();
is_inuse = per_service_r->is_inuse();
total_added = per_service_r->mTotalAdded;
event_polls = per_service_r->mEventPolls;
established_connections = per_service_r->mEstablishedConnections;
concurrent_connections = per_service_r->mConcurrentConnections;
bandwidth = per_service_r->bandwidth().truncateData(AIHTTPView::getTime_40ms());
@@ -148,7 +150,7 @@ void AIServiceBar::draw()
}
start = mHTTPView->updateColumn(mc_col, start);
#if defined(CWDEBUG) || defined(DEBUG_CURLIO)
text = llformat(" | %d,%d/%d", total_added, established_connections, concurrent_connections);
text = llformat(" | %d,%d,%d/%d", total_added, event_polls, established_connections, concurrent_connections);
#else
text = llformat(" | %d/%d", total_added, concurrent_connections);
#endif
@@ -227,6 +229,7 @@ void AIGLHTTPHeaderBar::draw(void)
height -= sLineHeight;
start = h_offset;
text = "Service (host:port)";
// This must match AICapabilityType!
static char const* caption[number_of_capability_types] = {
" | Textures", " | Inventory", " | Mesh", " | Other"
};