aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack
diff options
context:
space:
mode:
authorTom Grimshaw2010-06-27 22:23:01 -0700
committerTom Grimshaw2010-06-27 22:23:01 -0700
commit827d9be48f8177b5975df68208a8cf7c730b58f0 (patch)
tree55e3feb7a689fc08266dc646ebc067ce618b3cb1 /OpenSim/Region/ClientStack
parentDeal with incoming land objects properly so they don't just stack up (diff)
downloadopensim-SC_OLD-827d9be48f8177b5975df68208a8cf7c730b58f0.zip
opensim-SC_OLD-827d9be48f8177b5975df68208a8cf7c730b58f0.tar.gz
opensim-SC_OLD-827d9be48f8177b5975df68208a8cf7c730b58f0.tar.bz2
opensim-SC_OLD-827d9be48f8177b5975df68208a8cf7c730b58f0.tar.xz
Fix the sound issue. It was caused by missing assets; once the client has made one request, it continued to wait for asset before requesting any new ones, until the TransferRequest timed out. Fixed by adding a TransferAbortPacket if the asset cannot be retrieved.
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs16
1 files changed, 15 insertions, 1 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index f071841..5b5dc1e 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -2208,6 +2208,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
2208 OutPacket(sound, ThrottleOutPacketType.Task); 2208 OutPacket(sound, ThrottleOutPacketType.Task);
2209 } 2209 }
2210 2210
2211 public void SendTransferAbort(TransferRequestPacket transferRequest)
2212 {
2213 TransferAbortPacket abort = (TransferAbortPacket)PacketPool.Instance.GetPacket(PacketType.TransferAbort);
2214 abort.TransferInfo.TransferID = transferRequest.TransferInfo.TransferID;
2215 abort.TransferInfo.ChannelType = transferRequest.TransferInfo.ChannelType;
2216 m_log.Debug("[Assets] Aborting transfer; asset request failed");
2217 OutPacket(abort, ThrottleOutPacketType.Task);
2218 }
2219
2211 public void SendTriggeredSound(UUID soundID, UUID ownerID, UUID objectID, UUID parentID, ulong handle, Vector3 position, float gain) 2220 public void SendTriggeredSound(UUID soundID, UUID ownerID, UUID objectID, UUID parentID, ulong handle, Vector3 position, float gain)
2212 { 2221 {
2213 SoundTriggerPacket sound = (SoundTriggerPacket)PacketPool.Instance.GetPacket(PacketType.SoundTrigger); 2222 SoundTriggerPacket sound = (SoundTriggerPacket)PacketPool.Instance.GetPacket(PacketType.SoundTrigger);
@@ -11502,7 +11511,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP
11502 11511
11503// m_log.DebugFormat("[CLIENT]: {0} requesting asset {1}", Name, requestID); 11512// m_log.DebugFormat("[CLIENT]: {0} requesting asset {1}", Name, requestID);
11504 11513
11505 m_assetService.Get(requestID.ToString(), transferRequest, AssetReceived); 11514 if (!m_assetService.Get(requestID.ToString(), transferRequest, AssetReceived))
11515 {
11516 //We need to send a TransferAbort here, so the client doesn't wait forever for the asset,
11517 //which causes it to not request any more for a while. Which is bad.
11518 SendTransferAbort(transferRequest);
11519 }
11506 } 11520 }
11507 11521
11508 /// <summary> 11522 /// <summary>