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.

0.6.6-post-fixes
diva 2009-05-29 01:26:53 +00:00
parent 0094556d04
commit 1e9cb2f8fc
2 changed files with 3 additions and 3 deletions

View File

@ -201,7 +201,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Asset
if (asset != null)
{
handler(id, sender, asset);
handler.BeginInvoke(id, sender, asset, null, null);
return true;
}
@ -209,7 +209,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectors.Asset
{
if ((a != null) && (m_Cache != null))
m_Cache.Cache(a);
handler(assetID, s, a);
handler.BeginInvoke(assetID, s, a, null, null);
});
}

View File

@ -177,7 +177,7 @@ namespace OpenSim.Services.Connectors
}
else
{
handler(id, sender, asset);
handler.BeginInvoke(id, sender, asset, null, null);
}
return true;