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.
parent
0094556d04
commit
1e9cb2f8fc
|
@ -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);
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -177,7 +177,7 @@ namespace OpenSim.Services.Connectors
|
|||
}
|
||||
else
|
||||
{
|
||||
handler(id, sender, asset);
|
||||
handler.BeginInvoke(id, sender, asset, null, null);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
Loading…
Reference in New Issue