aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorMic Bowman2011-04-12 14:40:57 -0700
committerMic Bowman2011-04-13 15:37:25 -0700
commit5e7aba4f88a90e266e01b5509c4ba04730815475 (patch)
tree849356b476bdcab5697c65f61c0af6936a8f303b
parentFirst pass at moving object property requests into a queue similar (diff)
downloadopensim-SC-5e7aba4f88a90e266e01b5509c4ba04730815475.zip
opensim-SC-5e7aba4f88a90e266e01b5509c4ba04730815475.tar.gz
opensim-SC-5e7aba4f88a90e266e01b5509c4ba04730815475.tar.bz2
opensim-SC-5e7aba4f88a90e266e01b5509c4ba04730815475.tar.xz
fixed a couple bugs with the property queues
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs38
1 files changed, 37 insertions, 1 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index 33b9909..f926c35 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -4091,9 +4091,14 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4091 objectPropertiesBlocks.Value.Add(objPropDB); 4091 objectPropertiesBlocks.Value.Add(objPropDB);
4092 } 4092 }
4093 } 4093 }
4094
4095 updatesThisCall++;
4094 } 4096 }
4095 4097
4096 4098
4099 Int32 ppcnt = 0;
4100 Int32 pbcnt = 0;
4101
4097 if (objectPropertiesBlocks.IsValueCreated) 4102 if (objectPropertiesBlocks.IsValueCreated)
4098 { 4103 {
4099 List<ObjectPropertiesPacket.ObjectDataBlock> blocks = objectPropertiesBlocks.Value; 4104 List<ObjectPropertiesPacket.ObjectDataBlock> blocks = objectPropertiesBlocks.Value;
@@ -4105,9 +4110,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4105 4110
4106 packet.Header.Zerocoded = true; 4111 packet.Header.Zerocoded = true;
4107 OutPacket(packet, ThrottleOutPacketType.Task, true); 4112 OutPacket(packet, ThrottleOutPacketType.Task, true);
4113
4114 pbcnt += blocks.Count;
4115 ppcnt++;
4108 } 4116 }
4109 4117
4110 4118
4119 Int32 fpcnt = 0;
4120 Int32 fbcnt = 0;
4121
4111 if (objectFamilyBlocks.IsValueCreated) 4122 if (objectFamilyBlocks.IsValueCreated)
4112 { 4123 {
4113 List<ObjectPropertiesFamilyPacket.ObjectDataBlock> blocks = objectFamilyBlocks.Value; 4124 List<ObjectPropertiesFamilyPacket.ObjectDataBlock> blocks = objectFamilyBlocks.Value;
@@ -4130,10 +4141,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4130 packet.ObjectData = blocks[i]; 4141 packet.ObjectData = blocks[i];
4131 packet.Header.Zerocoded = true; 4142 packet.Header.Zerocoded = true;
4132 OutPacket(packet, ThrottleOutPacketType.Task); 4143 OutPacket(packet, ThrottleOutPacketType.Task);
4144
4145 fpcnt++;
4146 fbcnt++;
4133 } 4147 }
4134 4148
4135 } 4149 }
4136 4150
4151 m_log.WarnFormat("[PACKETCOUNTS] queued {0} property packets with {1} blocks",ppcnt,pbcnt);
4152 m_log.WarnFormat("[PACKETCOUNTS] queued {0} family property packets with {1} blocks",fpcnt,fbcnt);
4137 } 4153 }
4138 4154
4139 private ObjectPropertiesFamilyPacket.ObjectDataBlock CreateObjectPropertiesFamilyBlock(SceneObjectPart sop, uint requestFlags) 4155 private ObjectPropertiesFamilyPacket.ObjectDataBlock CreateObjectPropertiesFamilyBlock(SceneObjectPart sop, uint requestFlags)
@@ -11408,6 +11424,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
11408 OutPacket(packet, throttlePacketType, true); 11424 OutPacket(packet, throttlePacketType, true);
11409 } 11425 }
11410 11426
11427/// <MIC>
11428 Dictionary<string,uint> pktsrc = new Dictionary<string,uint>();
11429 uint pktcnt = 0;
11430/// </MIC>
11431
11411 /// <summary> 11432 /// <summary>
11412 /// This is the starting point for sending a simulator packet out to the client 11433 /// This is the starting point for sending a simulator packet out to the client
11413 /// </summary> 11434 /// </summary>
@@ -11455,7 +11476,22 @@ namespace OpenSim.Region.ClientStack.LindenUDP
11455 if (count > 5) break; 11476 if (count > 5) break;
11456 } 11477 }
11457 11478
11458 // m_log.WarnFormat("[BADGUY] {0}", stack); 11479 lock(pktsrc)
11480 {
11481 if (! pktsrc.ContainsKey(stack))
11482 pktsrc.Add(stack,0);
11483 pktsrc[stack]++;
11484
11485 if (++pktcnt > 500)
11486 {
11487 pktcnt = 0;
11488 m_log.WarnFormat("[PACKETCOUNTS] START");
11489 foreach (KeyValuePair<string,uint> pkt in pktsrc)
11490 m_log.WarnFormat("[PACKETCOUNTS] {0,8}, {1}", pkt.Value, pkt.Key);
11491 pktsrc.Clear();
11492 m_log.WarnFormat("[PACKETCOUNTS] END");
11493 }
11494 }
11459 } 11495 }
11460 11496
11461 m_udpServer.SendPacket(m_udpClient, packet, throttlePacketType, doAutomaticSplitting); 11497 m_udpServer.SendPacket(m_udpClient, packet, throttlePacketType, doAutomaticSplitting);