diff options
author | Mic Bowman | 2011-04-12 14:40:57 -0700 |
---|---|---|
committer | Mic Bowman | 2011-04-12 15:58:57 -0700 |
commit | 1a0f107012ae96f5030b564cc51b6f36b949a467 (patch) | |
tree | 08f56aab01322fe66e53b5624d78e13620a7b342 /OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |
parent | First pass at moving object property requests into a queue similar (diff) | |
download | opensim-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/ClientStack/LindenUDP/LLClientView.cs')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 38 |
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); |