aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorMic Bowman2011-04-12 14:40:57 -0700
committerMic Bowman2011-04-12 15:58:57 -0700
commit1a0f107012ae96f5030b564cc51b6f36b949a467 (patch)
tree08f56aab01322fe66e53b5624d78e13620a7b342 /OpenSim/Region
parentFirst pass at moving object property requests into a queue similar (diff)
downloadopensim-SC-1a0f107012ae96f5030b564cc51b6f36b949a467.zip
opensim-SC-1a0f107012ae96f5030b564cc51b6f36b949a467.tar.gz
opensim-SC-1a0f107012ae96f5030b564cc51b6f36b949a467.tar.bz2
opensim-SC-1a0f107012ae96f5030b564cc51b6f36b949a467.tar.xz
fixed a couple bugs with the property queues
Diffstat (limited to 'OpenSim/Region')
-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 b96343e..4db5b22 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)
@@ -11401,6 +11417,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
11401 OutPacket(packet, throttlePacketType, true); 11417 OutPacket(packet, throttlePacketType, true);
11402 } 11418 }
11403 11419
11420/// <MIC>
11421 Dictionary<string,uint> pktsrc = new Dictionary<string,uint>();
11422 uint pktcnt = 0;
11423/// </MIC>
11424
11404 /// <summary> 11425 /// <summary>
11405 /// This is the starting point for sending a simulator packet out to the client 11426 /// This is the starting point for sending a simulator packet out to the client
11406 /// </summary> 11427 /// </summary>
@@ -11448,7 +11469,22 @@ namespace OpenSim.Region.ClientStack.LindenUDP
11448 if (count > 5) break; 11469 if (count > 5) break;
11449 } 11470 }
11450 11471
11451 // m_log.WarnFormat("[BADGUY] {0}", stack); 11472 lock(pktsrc)
11473 {
11474 if (! pktsrc.ContainsKey(stack))
11475 pktsrc.Add(stack,0);
11476 pktsrc[stack]++;
11477
11478 if (++pktcnt > 500)
11479 {
11480 pktcnt = 0;
11481 m_log.WarnFormat("[PACKETCOUNTS] START");
11482 foreach (KeyValuePair<string,uint> pkt in pktsrc)
11483 m_log.WarnFormat("[PACKETCOUNTS] {0,8}, {1}", pkt.Value, pkt.Key);
11484 pktsrc.Clear();
11485 m_log.WarnFormat("[PACKETCOUNTS] END");
11486 }
11487 }
11452 } 11488 }
11453 11489
11454 m_udpServer.SendPacket(m_udpClient, packet, throttlePacketType, doAutomaticSplitting); 11490 m_udpServer.SendPacket(m_udpClient, packet, throttlePacketType, doAutomaticSplitting);