From 7486762aa08d67576f44a4c476b9db1dc52a5b09 Mon Sep 17 00:00:00 2001 From: lbsa71 Date: Sat, 9 Feb 2008 22:23:36 +0000 Subject: * Refactored some asset code and in the process uncovered a bug; now, I think first transfer of asset should start faster. --- .../Framework/Communications/Cache/AssetCache.cs | 24 +++++++++++++--------- 1 file changed, 14 insertions(+), 10 deletions(-) (limited to 'OpenSim/Framework/Communications') diff --git a/OpenSim/Framework/Communications/Cache/AssetCache.cs b/OpenSim/Framework/Communications/Cache/AssetCache.cs index 3e60ceb..5bc388a 100644 --- a/OpenSim/Framework/Communications/Cache/AssetCache.cs +++ b/OpenSim/Framework/Communications/Cache/AssetCache.cs @@ -81,6 +81,9 @@ namespace OpenSim.Framework.Communications.Cache long imageBytes = 0; long assetBytes = 0; + + + foreach (TextureImage texture in Textures.Values) { if (texture.Temporary) @@ -201,22 +204,23 @@ namespace OpenSim.Framework.Communications.Cache else { NewAssetRequest req = new NewAssetRequest(assetID, callback); - if (RequestLists.ContainsKey(assetID)) + + AssetRequestsList requestList; + + lock (RequestLists) { - lock (RequestLists) + if (RequestLists.TryGetValue(assetID, out requestList)) { - RequestLists[assetID].Requests.Add(req); } - } - else - { - AssetRequestsList reqList = new AssetRequestsList(assetID); - reqList.Requests.Add(req); - lock (RequestLists) + else { - RequestLists.Add(assetID, reqList); + requestList = new AssetRequestsList(assetID); + RequestLists.Add(assetID, requestList); } } + + requestList.Requests.Add(req); + m_assetServer.RequestAsset(assetID, false); } } -- cgit v1.1