aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authordiva2009-05-29 01:26:53 +0000
committerdiva2009-05-29 01:26:53 +0000
commit1e9cb2f8fcaf4f4210121ed7536ea33a9ab2db30 (patch)
treeb2a09fdc6d8b9d44aaa3a7506753dfcb728d33f1
parentInstrumenting GlynnTuckerCache to find out the hit rate. (diff)
downloadopensim-SC_OLD-1e9cb2f8fcaf4f4210121ed7536ea33a9ab2db30.zip
opensim-SC_OLD-1e9cb2f8fcaf4f4210121ed7536ea33a9ab2db30.tar.gz
opensim-SC_OLD-1e9cb2f8fcaf4f4210121ed7536ea33a9ab2db30.tar.bz2
opensim-SC_OLD-1e9cb2f8fcaf4f4210121ed7536ea33a9ab2db30.tar.xz
Making the delegate handlers async in async Get, to make things consistent. Them being synchronous in certain cases (asset in cache, for example) may account for slowness reported by folks in osgrid when they have the cache module on. Turns out that some of the provided handlers do non-trivial processing (the ones coming from J2KImage, for example), which means that the several asset requests that hit the cache end up being synchronous. The jury is still out on this.
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectors/Asset/LocalAssetServiceConnector.cs4
-rw-r--r--OpenSim/Services/Connectors/Asset/AssetServiceConnector.cs2
2 files changed, 3 insertions, 3 deletions
diff --git a/OpenSim/Region/CoreModules/ServiceConnectors/Asset/LocalAssetServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectors/Asset/LocalAssetServiceConnector.cs
index 3750991..527f364 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectors/Asset/LocalAssetServiceConnector.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectors/Asset/LocalAssetServiceConnector.cs
@@ -201,7 +201,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Asset
201 201
202 if (asset != null) 202 if (asset != null)
203 { 203 {
204 handler(id, sender, asset); 204 handler.BeginInvoke(id, sender, asset, null, null);
205 return true; 205 return true;
206 } 206 }
207 207
@@ -209,7 +209,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Asset
209 { 209 {
210 if ((a != null) && (m_Cache != null)) 210 if ((a != null) && (m_Cache != null))
211 m_Cache.Cache(a); 211 m_Cache.Cache(a);
212 handler(assetID, s, a); 212 handler.BeginInvoke(assetID, s, a, null, null);
213 }); 213 });
214 } 214 }
215 215
diff --git a/OpenSim/Services/Connectors/Asset/AssetServiceConnector.cs b/OpenSim/Services/Connectors/Asset/AssetServiceConnector.cs
index 950cf47..c80fed0 100644
--- a/OpenSim/Services/Connectors/Asset/AssetServiceConnector.cs
+++ b/OpenSim/Services/Connectors/Asset/AssetServiceConnector.cs
@@ -177,7 +177,7 @@ namespace OpenSim.Services.Connectors
177 } 177 }
178 else 178 else
179 { 179 {
180 handler(id, sender, asset); 180 handler.BeginInvoke(id, sender, asset, null, null);
181 } 181 }
182 182
183 return true; 183 return true;