diff options
author | Diva Canto | 2009-10-12 17:00:01 -0700 |
---|---|---|
committer | Diva Canto | 2009-10-12 17:00:01 -0700 |
commit | c0beeb929e22509329781cdf85f7a5d90c4b0e36 (patch) | |
tree | 42f724d921f08b0d2d14c8f7eb872a118a9adadd /OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |
parent | 0004246: [Patch] FlotsamAssetCache deep scan & cache (diff) | |
download | opensim-SC_OLD-c0beeb929e22509329781cdf85f7a5d90c4b0e36.zip opensim-SC_OLD-c0beeb929e22509329781cdf85f7a5d90c4b0e36.tar.gz opensim-SC_OLD-c0beeb929e22509329781cdf85f7a5d90c4b0e36.tar.bz2 opensim-SC_OLD-c0beeb929e22509329781cdf85f7a5d90c4b0e36.tar.xz |
* Fixes http://opensimulator.org/mantis/view.php?id=4225
* Fixes http://opensimulator.org/mantis/view.php?id=3959
* Allows for viewing inventory textures outside home grid
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 84e705a..25eb5cd 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -43,6 +43,7 @@ using OpenSim.Framework.Communications.Cache; | |||
43 | using OpenSim.Framework.Statistics; | 43 | using OpenSim.Framework.Statistics; |
44 | using OpenSim.Region.Framework.Interfaces; | 44 | using OpenSim.Region.Framework.Interfaces; |
45 | using OpenSim.Region.Framework.Scenes; | 45 | using OpenSim.Region.Framework.Scenes; |
46 | using OpenSim.Region.Framework.Scenes.Hypergrid; | ||
46 | using OpenSim.Services.Interfaces; | 47 | using OpenSim.Services.Interfaces; |
47 | using Timer=System.Timers.Timer; | 48 | using Timer=System.Timers.Timer; |
48 | using AssetLandmark = OpenSim.Framework.AssetLandmark; | 49 | using AssetLandmark = OpenSim.Framework.AssetLandmark; |
@@ -117,6 +118,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
117 | protected int m_packetMTU = 1400; | 118 | protected int m_packetMTU = 1400; |
118 | protected IAssetService m_assetService; | 119 | protected IAssetService m_assetService; |
119 | 120 | ||
121 | |||
120 | #region Properties | 122 | #region Properties |
121 | 123 | ||
122 | public UUID SecureSessionId { get { return m_secureSessionId; } } | 124 | public UUID SecureSessionId { get { return m_secureSessionId; } } |
@@ -7013,7 +7015,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
7013 | #endregion | 7015 | #endregion |
7014 | 7016 | ||
7015 | //handlerTextureRequest = null; | 7017 | //handlerTextureRequest = null; |
7016 | |||
7017 | for (int i = 0; i < imageRequest.RequestImage.Length; i++) | 7018 | for (int i = 0; i < imageRequest.RequestImage.Length; i++) |
7018 | { | 7019 | { |
7019 | if (OnRequestTexture != null) | 7020 | if (OnRequestTexture != null) |
@@ -7024,7 +7025,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
7024 | args.PacketNumber = imageRequest.RequestImage[i].Packet; | 7025 | args.PacketNumber = imageRequest.RequestImage[i].Packet; |
7025 | args.Priority = imageRequest.RequestImage[i].DownloadPriority; | 7026 | args.Priority = imageRequest.RequestImage[i].DownloadPriority; |
7026 | args.requestSequence = imageRequest.Header.Sequence; | 7027 | args.requestSequence = imageRequest.Header.Sequence; |
7027 | |||
7028 | //handlerTextureRequest = OnRequestTexture; | 7028 | //handlerTextureRequest = OnRequestTexture; |
7029 | 7029 | ||
7030 | //if (handlerTextureRequest != null) | 7030 | //if (handlerTextureRequest != null) |
@@ -7047,10 +7047,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
7047 | // Validate inventory transfers | 7047 | // Validate inventory transfers |
7048 | // Has to be done here, because AssetCache can't do it | 7048 | // Has to be done here, because AssetCache can't do it |
7049 | // | 7049 | // |
7050 | 7050 | UUID taskID = UUID.Zero; | |
7051 | if (transfer.TransferInfo.SourceType == 3) | 7051 | if (transfer.TransferInfo.SourceType == 3) |
7052 | { | 7052 | { |
7053 | UUID taskID = new UUID(transfer.TransferInfo.Params, 48); | 7053 | taskID = new UUID(transfer.TransferInfo.Params, 48); |
7054 | UUID itemID = new UUID(transfer.TransferInfo.Params, 64); | 7054 | UUID itemID = new UUID(transfer.TransferInfo.Params, 64); |
7055 | UUID requestID = new UUID(transfer.TransferInfo.Params, 80); | 7055 | UUID requestID = new UUID(transfer.TransferInfo.Params, 80); |
7056 | if (!(((Scene)m_scene).Permissions.BypassPermissions())) | 7056 | if (!(((Scene)m_scene).Permissions.BypassPermissions())) |
@@ -7121,7 +7121,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
7121 | 7121 | ||
7122 | //m_assetCache.AddAssetRequest(this, transfer); | 7122 | //m_assetCache.AddAssetRequest(this, transfer); |
7123 | 7123 | ||
7124 | MakeAssetRequest(transfer); | 7124 | MakeAssetRequest(transfer, taskID); |
7125 | 7125 | ||
7126 | /* RequestAsset = OnRequestAsset; | 7126 | /* RequestAsset = OnRequestAsset; |
7127 | if (RequestAsset != null) | 7127 | if (RequestAsset != null) |
@@ -10330,7 +10330,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
10330 | return String.Empty; | 10330 | return String.Empty; |
10331 | } | 10331 | } |
10332 | 10332 | ||
10333 | public void MakeAssetRequest(TransferRequestPacket transferRequest) | 10333 | public void MakeAssetRequest(TransferRequestPacket transferRequest, UUID taskID) |
10334 | { | 10334 | { |
10335 | UUID requestID = UUID.Zero; | 10335 | UUID requestID = UUID.Zero; |
10336 | if (transferRequest.TransferInfo.SourceType == 2) | 10336 | if (transferRequest.TransferInfo.SourceType == 2) |
@@ -10343,11 +10343,18 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
10343 | //inventory asset request | 10343 | //inventory asset request |
10344 | requestID = new UUID(transferRequest.TransferInfo.Params, 80); | 10344 | requestID = new UUID(transferRequest.TransferInfo.Params, 80); |
10345 | //m_log.Debug("asset request " + requestID); | 10345 | //m_log.Debug("asset request " + requestID); |
10346 | if (taskID == UUID.Zero) // Agent | ||
10347 | if (m_scene is HGScene) | ||
10348 | { | ||
10349 | // We may need to fetch the asset from the user's asset server into the local asset server | ||
10350 | HGAssetMapper mapper = ((HGScene)m_scene).AssetMapper; | ||
10351 | mapper.Get(requestID, AgentId); | ||
10352 | } | ||
10346 | } | 10353 | } |
10347 | 10354 | ||
10348 | //check to see if asset is in local cache, if not we need to request it from asset server. | 10355 | //check to see if asset is in local cache, if not we need to request it from asset server. |
10349 | //m_log.Debug("asset request " + requestID); | 10356 | //m_log.Debug("asset request " + requestID); |
10350 | 10357 | ||
10351 | m_assetService.Get(requestID.ToString(), transferRequest, AssetReceived); | 10358 | m_assetService.Get(requestID.ToString(), transferRequest, AssetReceived); |
10352 | 10359 | ||
10353 | } | 10360 | } |