diff options
author | Mic Bowman | 2011-04-12 14:40:57 -0700 |
---|---|---|
committer | Mic Bowman | 2011-04-13 15:37:25 -0700 |
commit | 5e7aba4f88a90e266e01b5509c4ba04730815475 (patch) | |
tree | 849356b476bdcab5697c65f61c0af6936a8f303b /OpenSim/Region/ClientStack | |
parent | First pass at moving object property requests into a queue similar (diff) | |
download | opensim-SC_OLD-5e7aba4f88a90e266e01b5509c4ba04730815475.zip opensim-SC_OLD-5e7aba4f88a90e266e01b5509c4ba04730815475.tar.gz opensim-SC_OLD-5e7aba4f88a90e266e01b5509c4ba04730815475.tar.bz2 opensim-SC_OLD-5e7aba4f88a90e266e01b5509c4ba04730815475.tar.xz |
fixed a couple bugs with the property queues
Diffstat (limited to 'OpenSim/Region/ClientStack')
-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 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); |