diff options
author | diva | 2009-05-29 01:26:53 +0000 |
---|---|---|
committer | diva | 2009-05-29 01:26:53 +0000 |
commit | 1e9cb2f8fcaf4f4210121ed7536ea33a9ab2db30 (patch) | |
tree | b2a09fdc6d8b9d44aaa3a7506753dfcb728d33f1 | |
parent | Instrumenting GlynnTuckerCache to find out the hit rate. (diff) | |
download | opensim-SC-1e9cb2f8fcaf4f4210121ed7536ea33a9ab2db30.zip opensim-SC-1e9cb2f8fcaf4f4210121ed7536ea33a9ab2db30.tar.gz opensim-SC-1e9cb2f8fcaf4f4210121ed7536ea33a9ab2db30.tar.bz2 opensim-SC-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.
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/CoreModules/ServiceConnectors/Asset/LocalAssetServiceConnector.cs | 4 | ||||
-rw-r--r-- | OpenSim/Services/Connectors/Asset/AssetServiceConnector.cs | 2 |
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; |