diff options
author | Diva Canto | 2015-05-07 19:24:08 -0700 |
---|---|---|
committer | Diva Canto | 2015-05-07 19:24:08 -0700 |
commit | c74cef0f4261191962959e42c7e349adafd42a04 (patch) | |
tree | 95ad098d2606b7d37a6b287816d9f6a02311860d /OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs | |
parent | Merge branch 'master' of ssh://opensimulator.org/var/git/opensim (diff) | |
download | opensim-SC-c74cef0f4261191962959e42c7e349adafd42a04.zip opensim-SC-c74cef0f4261191962959e42c7e349adafd42a04.tar.gz opensim-SC-c74cef0f4261191962959e42c7e349adafd42a04.tar.bz2 opensim-SC-c74cef0f4261191962959e42c7e349adafd42a04.tar.xz |
Major change in the way inventory is downloaded: added a method throughout IIventoryService that fetches sets of folders at once. Also added folder id in the InventoryCollection data structure, so that we don't need to go to inventory server again just for that. This reduces the chatter between sims and inventory server by... a lot. On my tests, this reduces initial inventory download down to 30% of what it currently is.
Diffstat (limited to 'OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs index e402b0b..30d1921 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs | |||
@@ -201,7 +201,7 @@ namespace OpenSim.Region.ClientStack.Linden | |||
201 | 201 | ||
202 | Scene.EventManager.OnRegisterCaps += RegisterCaps; | 202 | Scene.EventManager.OnRegisterCaps += RegisterCaps; |
203 | 203 | ||
204 | int nworkers = 1; // was 2 | 204 | int nworkers = 2; // was 2 |
205 | if (ProcessQueuedRequestsAsync && m_workerThreads == null) | 205 | if (ProcessQueuedRequestsAsync && m_workerThreads == null) |
206 | { | 206 | { |
207 | m_workerThreads = new Thread[nworkers]; | 207 | m_workerThreads = new Thread[nworkers]; |
@@ -365,7 +365,11 @@ namespace OpenSim.Region.ClientStack.Linden | |||
365 | requestinfo.request["body"].ToString(), String.Empty, String.Empty, null, null); | 365 | requestinfo.request["body"].ToString(), String.Empty, String.Empty, null, null); |
366 | 366 | ||
367 | lock (responses) | 367 | lock (responses) |
368 | { | ||
369 | if (responses.ContainsKey(requestID)) | ||
370 | m_log.WarnFormat("[FETCH INVENTORY DESCENDENTS2 MODULE]: Caught in the act of loosing responses! Please report this on mantis #7054"); | ||
368 | responses[requestID] = response; | 371 | responses[requestID] = response; |
372 | } | ||
369 | 373 | ||
370 | WebFetchInvDescModule.ProcessedRequestsCount++; | 374 | WebFetchInvDescModule.ProcessedRequestsCount++; |
371 | } | 375 | } |