aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/Linden
diff options
context:
space:
mode:
authorMelanie Thielker2014-08-27 11:25:17 +0200
committerMelanie Thielker2014-08-27 11:25:17 +0200
commit012d0b07bc797db3d230337745bb543c33800855 (patch)
tree08e688f166939f459ffe3aca371c09a0fa6c126b /OpenSim/Region/ClientStack/Linden
parentMerge branch 'ubitworkmaster' (diff)
parent enqueue also if m_nextPackets[category] is not null. This is really the (diff)
downloadopensim-SC-012d0b07bc797db3d230337745bb543c33800855.zip
opensim-SC-012d0b07bc797db3d230337745bb543c33800855.tar.gz
opensim-SC-012d0b07bc797db3d230337745bb543c33800855.tar.bz2
opensim-SC-012d0b07bc797db3d230337745bb543c33800855.tar.xz
Merge branch 'ubitworkmaster'
Diffstat (limited to 'OpenSim/Region/ClientStack/Linden')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs21
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLUDPClient.cs12
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs2
3 files changed, 30 insertions, 5 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
index e19877c..7087bb7 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -5393,6 +5393,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5393 //update.JointType = 0; 5393 //update.JointType = 0;
5394 update.Material = data.Material; 5394 update.Material = data.Material;
5395 update.MediaURL = Utils.EmptyBytes; // FIXME: Support this in OpenSim 5395 update.MediaURL = Utils.EmptyBytes; // FIXME: Support this in OpenSim
5396/*
5396 if (data.ParentGroup.IsAttachment) 5397 if (data.ParentGroup.IsAttachment)
5397 { 5398 {
5398 update.NameValue = Util.StringToBytes256("AttachItemID STRING RW SV " + data.ParentGroup.FromItemID); 5399 update.NameValue = Util.StringToBytes256("AttachItemID STRING RW SV " + data.ParentGroup.FromItemID);
@@ -5406,6 +5407,26 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5406 // case for attachments may contain conflicting values that can end up crashing the viewer. 5407 // case for attachments may contain conflicting values that can end up crashing the viewer.
5407 update.State = data.ParentGroup.RootPart.Shape.State; 5408 update.State = data.ParentGroup.RootPart.Shape.State;
5408 } 5409 }
5410 */
5411
5412 if (data.ParentGroup.IsAttachment)
5413 {
5414 if (data.IsRoot)
5415 {
5416 update.NameValue = Util.StringToBytes256("AttachItemID STRING RW SV " + data.ParentGroup.FromItemID);
5417 }
5418 else
5419 update.NameValue = Utils.EmptyBytes;
5420
5421 int st = (int)data.ParentGroup.AttachmentPoint;
5422 update.State = (byte)(((st & 0xf0) >> 4) + ((st & 0x0f) << 4)); ;
5423 }
5424 else
5425 {
5426 update.NameValue = Utils.EmptyBytes;
5427 update.State = data.Shape.State; // not sure about this
5428 }
5429
5409 5430
5410// m_log.DebugFormat( 5431// m_log.DebugFormat(
5411// "[LLCLIENTVIEW]: Sending state {0} for {1} {2} to {3}", 5432// "[LLCLIENTVIEW]: Sending state {0} for {1} {2} to {3}",
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPClient.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPClient.cs
index fe31bd9..8852715 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPClient.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPClient.cs
@@ -364,6 +364,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
364 int texture = (int)(BitConverter.ToSingle(adjData, pos) * 0.125f); pos += 4; 364 int texture = (int)(BitConverter.ToSingle(adjData, pos) * 0.125f); pos += 4;
365 int asset = (int)(BitConverter.ToSingle(adjData, pos) * 0.125f); 365 int asset = (int)(BitConverter.ToSingle(adjData, pos) * 0.125f);
366 366
367 int total = resend + land + wind + cloud + task + texture + asset;
368 total /= 128;
369
367 // Make sure none of the throttles are set below our packet MTU, 370 // Make sure none of the throttles are set below our packet MTU,
368 // otherwise a throttle could become permanently clogged 371 // otherwise a throttle could become permanently clogged
369 resend = Math.Max(resend, LLUDPServer.MTU); 372 resend = Math.Max(resend, LLUDPServer.MTU);
@@ -379,8 +382,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
379 // the task queue (e.g. object updates) 382 // the task queue (e.g. object updates)
380 task = task + (int)(m_cannibalrate * texture); 383 task = task + (int)(m_cannibalrate * texture);
381 texture = (int)((1 - m_cannibalrate) * texture); 384 texture = (int)((1 - m_cannibalrate) * texture);
382 385
383 //int total = resend + land + wind + cloud + task + texture + asset; 386 total = resend + land + wind + cloud + task + texture + asset;
387 total /= 128;
384 //m_log.DebugFormat("[LLUDPCLIENT]: {0} is setting throttles. Resend={1}, Land={2}, Wind={3}, Cloud={4}, Task={5}, Texture={6}, Asset={7}, Total={8}", 388 //m_log.DebugFormat("[LLUDPCLIENT]: {0} is setting throttles. Resend={1}, Land={2}, Wind={3}, Cloud={4}, Task={5}, Texture={6}, Asset={7}, Total={8}",
385 // AgentID, resend, land, wind, cloud, task, texture, asset, total); 389 // AgentID, resend, land, wind, cloud, task, texture, asset, total);
386 390
@@ -484,7 +488,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
484 // Don't send this packet if there is already a packet waiting in the queue 488 // Don't send this packet if there is already a packet waiting in the queue
485 // even if we have the tokens to send it, tokens should go to the already 489 // even if we have the tokens to send it, tokens should go to the already
486 // queued packets 490 // queued packets
487 if (queue.Count > 0) 491 if (queue.Count > 0 || m_nextPackets[category] != null)
488 { 492 {
489 queue.Enqueue(packet, highPriority); 493 queue.Enqueue(packet, highPriority);
490 return true; 494 return true;
@@ -528,7 +532,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
528 /// <returns>True if any packets were sent, otherwise false</returns> 532 /// <returns>True if any packets were sent, otherwise false</returns>
529 public bool DequeueOutgoing() 533 public bool DequeueOutgoing()
530 { 534 {
531 if (m_deliverPackets == false) return false; 535// if (m_deliverPackets == false) return false;
532 536
533 OutgoingPacket packet = null; 537 OutgoingPacket packet = null;
534 DoubleLocklessQueue<OutgoingPacket> queue; 538 DoubleLocklessQueue<OutgoingPacket> queue;
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
index 3b0312d..dea9d7f 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
@@ -1245,7 +1245,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
1245 int dataLength = buffer.DataLength; 1245 int dataLength = buffer.DataLength;
1246 1246
1247 // NOTE: I'm seeing problems with some viewers when ACKs are appended to zerocoded packets so I've disabled that here 1247 // NOTE: I'm seeing problems with some viewers when ACKs are appended to zerocoded packets so I've disabled that here
1248 if (!isZerocoded) 1248 if (!isZerocoded && !isResend)
1249 { 1249 {
1250 // Keep appending ACKs until there is no room left in the buffer or there are 1250 // Keep appending ACKs until there is no room left in the buffer or there are
1251 // no more ACKs to append 1251 // no more ACKs to append