diff options
-rw-r--r-- | OpenSim/Region/ClientStack/ClientView.PacketQueue.cs | 42 | ||||
-rw-r--r-- | OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs | 14 | ||||
-rw-r--r-- | OpenSim/Region/ClientStack/ClientView.cs | 80 |
3 files changed, 68 insertions, 68 deletions
diff --git a/OpenSim/Region/ClientStack/ClientView.PacketQueue.cs b/OpenSim/Region/ClientStack/ClientView.PacketQueue.cs index 4ca7bd9..5916d00 100644 --- a/OpenSim/Region/ClientStack/ClientView.PacketQueue.cs +++ b/OpenSim/Region/ClientStack/ClientView.PacketQueue.cs | |||
@@ -232,10 +232,10 @@ namespace OpenSim.Region.ClientStack | |||
232 | switch (throttlePacketType) | 232 | switch (throttlePacketType) |
233 | { | 233 | { |
234 | case ThrottleOutPacketType.Resend: | 234 | case ThrottleOutPacketType.Resend: |
235 | if (ResendthrottleSentPeriod <= ((int)(ResendthrottleOutbound / throttleTimeDivisor)) && ResendOutgoingPacketQueue.Count == 0) | 235 | if (ResendBytesSent <= ((int)(ResendthrottleOutbound / throttleTimeDivisor)) && ResendOutgoingPacketQueue.Count == 0) |
236 | { | 236 | { |
237 | throttleSentPeriod += item.Packet.ToBytes().Length; | 237 | bytesSent += item.Packet.ToBytes().Length; |
238 | ResendthrottleSentPeriod += item.Packet.ToBytes().Length; | 238 | ResendBytesSent += item.Packet.ToBytes().Length; |
239 | PacketQueue.Enqueue(item); | 239 | PacketQueue.Enqueue(item); |
240 | } | 240 | } |
241 | else | 241 | else |
@@ -244,10 +244,10 @@ namespace OpenSim.Region.ClientStack | |||
244 | } | 244 | } |
245 | break; | 245 | break; |
246 | case ThrottleOutPacketType.Texture: | 246 | case ThrottleOutPacketType.Texture: |
247 | if (TexturethrottleSentPeriod <= ((int)(TexturethrottleOutbound / throttleTimeDivisor)) && TextureOutgoingPacketQueue.Count == 0) | 247 | if (TextureBytesSent <= ((int)(TexturethrottleOutbound / throttleTimeDivisor)) && TextureOutgoingPacketQueue.Count == 0) |
248 | { | 248 | { |
249 | throttleSentPeriod += item.Packet.ToBytes().Length; | 249 | bytesSent += item.Packet.ToBytes().Length; |
250 | TexturethrottleSentPeriod += item.Packet.ToBytes().Length; | 250 | TextureBytesSent += item.Packet.ToBytes().Length; |
251 | PacketQueue.Enqueue(item); | 251 | PacketQueue.Enqueue(item); |
252 | } | 252 | } |
253 | else | 253 | else |
@@ -256,10 +256,10 @@ namespace OpenSim.Region.ClientStack | |||
256 | } | 256 | } |
257 | break; | 257 | break; |
258 | case ThrottleOutPacketType.Task: | 258 | case ThrottleOutPacketType.Task: |
259 | if (TaskthrottleSentPeriod <= ((int)(TexturethrottleOutbound / throttleTimeDivisor)) && TaskOutgoingPacketQueue.Count == 0) | 259 | if (TaskBytesSent <= ((int)(TexturethrottleOutbound / throttleTimeDivisor)) && TaskOutgoingPacketQueue.Count == 0) |
260 | { | 260 | { |
261 | throttleSentPeriod += item.Packet.ToBytes().Length; | 261 | bytesSent += item.Packet.ToBytes().Length; |
262 | TaskthrottleSentPeriod += item.Packet.ToBytes().Length; | 262 | TaskBytesSent += item.Packet.ToBytes().Length; |
263 | PacketQueue.Enqueue(item); | 263 | PacketQueue.Enqueue(item); |
264 | } | 264 | } |
265 | else | 265 | else |
@@ -268,10 +268,10 @@ namespace OpenSim.Region.ClientStack | |||
268 | } | 268 | } |
269 | break; | 269 | break; |
270 | case ThrottleOutPacketType.Land: | 270 | case ThrottleOutPacketType.Land: |
271 | if (LandthrottleSentPeriod <= ((int)(LandthrottleOutbound / throttleTimeDivisor)) && LandOutgoingPacketQueue.Count == 0) | 271 | if (LandBytesSent <= ((int)(LandthrottleOutbound / throttleTimeDivisor)) && LandOutgoingPacketQueue.Count == 0) |
272 | { | 272 | { |
273 | throttleSentPeriod += item.Packet.ToBytes().Length; | 273 | bytesSent += item.Packet.ToBytes().Length; |
274 | LandthrottleSentPeriod += item.Packet.ToBytes().Length; | 274 | LandBytesSent += item.Packet.ToBytes().Length; |
275 | PacketQueue.Enqueue(item); | 275 | PacketQueue.Enqueue(item); |
276 | } | 276 | } |
277 | else | 277 | else |
@@ -280,10 +280,10 @@ namespace OpenSim.Region.ClientStack | |||
280 | } | 280 | } |
281 | break; | 281 | break; |
282 | case ThrottleOutPacketType.Asset: | 282 | case ThrottleOutPacketType.Asset: |
283 | if (AssetthrottleSentPeriod <= ((int)(AssetthrottleOutbound / throttleTimeDivisor)) && AssetOutgoingPacketQueue.Count == 0) | 283 | if (AssetBytesSent <= ((int)(AssetthrottleOutbound / throttleTimeDivisor)) && AssetOutgoingPacketQueue.Count == 0) |
284 | { | 284 | { |
285 | throttleSentPeriod += item.Packet.ToBytes().Length; | 285 | bytesSent += item.Packet.ToBytes().Length; |
286 | AssetthrottleSentPeriod += item.Packet.ToBytes().Length; | 286 | AssetBytesSent += item.Packet.ToBytes().Length; |
287 | PacketQueue.Enqueue(item); | 287 | PacketQueue.Enqueue(item); |
288 | } | 288 | } |
289 | else | 289 | else |
@@ -292,10 +292,10 @@ namespace OpenSim.Region.ClientStack | |||
292 | } | 292 | } |
293 | break; | 293 | break; |
294 | case ThrottleOutPacketType.Cloud: | 294 | case ThrottleOutPacketType.Cloud: |
295 | if (CloudthrottleSentPeriod <= ((int)(CloudthrottleOutbound / throttleTimeDivisor)) && CloudOutgoingPacketQueue.Count == 0) | 295 | if (CloudBytesSent <= ((int)(CloudthrottleOutbound / throttleTimeDivisor)) && CloudOutgoingPacketQueue.Count == 0) |
296 | { | 296 | { |
297 | throttleSentPeriod += item.Packet.ToBytes().Length; | 297 | bytesSent += item.Packet.ToBytes().Length; |
298 | CloudthrottleSentPeriod += item.Packet.ToBytes().Length; | 298 | CloudBytesSent += item.Packet.ToBytes().Length; |
299 | PacketQueue.Enqueue(item); | 299 | PacketQueue.Enqueue(item); |
300 | } | 300 | } |
301 | else | 301 | else |
@@ -304,10 +304,10 @@ namespace OpenSim.Region.ClientStack | |||
304 | } | 304 | } |
305 | break; | 305 | break; |
306 | case ThrottleOutPacketType.Wind: | 306 | case ThrottleOutPacketType.Wind: |
307 | if (WindthrottleSentPeriod <= ((int)(WindthrottleOutbound / throttleTimeDivisor)) && WindOutgoingPacketQueue.Count == 0) | 307 | if (WindBytesSent <= ((int)(WindthrottleOutbound / throttleTimeDivisor)) && WindOutgoingPacketQueue.Count == 0) |
308 | { | 308 | { |
309 | throttleSentPeriod += item.Packet.ToBytes().Length; | 309 | bytesSent += item.Packet.ToBytes().Length; |
310 | WindthrottleSentPeriod += item.Packet.ToBytes().Length; | 310 | WindBytesSent += item.Packet.ToBytes().Length; |
311 | PacketQueue.Enqueue(item); | 311 | PacketQueue.Enqueue(item); |
312 | } | 312 | } |
313 | else | 313 | else |
diff --git a/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs b/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs index f46c199..f720277 100644 --- a/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs +++ b/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs | |||
@@ -1048,13 +1048,13 @@ namespace OpenSim.Region.ClientStack | |||
1048 | // This has the effect of 'wiggling the slider | 1048 | // This has the effect of 'wiggling the slider |
1049 | // causes prim and stuck textures that didn't download to download | 1049 | // causes prim and stuck textures that didn't download to download |
1050 | 1050 | ||
1051 | ResendthrottleSentPeriod = 0; | 1051 | ResendBytesSent = 0; |
1052 | LandthrottleSentPeriod = 0; | 1052 | LandBytesSent = 0; |
1053 | WindthrottleSentPeriod = 0; | 1053 | WindBytesSent = 0; |
1054 | CloudthrottleSentPeriod = 0; | 1054 | CloudBytesSent = 0; |
1055 | TaskthrottleSentPeriod = 0; | 1055 | TaskBytesSent = 0; |
1056 | AssetthrottleSentPeriod = 0; | 1056 | AssetBytesSent = 0; |
1057 | TexturethrottleSentPeriod = 0; | 1057 | TextureBytesSent = 0; |
1058 | 1058 | ||
1059 | //Yay, we've finally handled the agent Throttle packet! | 1059 | //Yay, we've finally handled the agent Throttle packet! |
1060 | 1060 | ||
diff --git a/OpenSim/Region/ClientStack/ClientView.cs b/OpenSim/Region/ClientStack/ClientView.cs index fbe66db..28692bb 100644 --- a/OpenSim/Region/ClientStack/ClientView.cs +++ b/OpenSim/Region/ClientStack/ClientView.cs | |||
@@ -90,7 +90,7 @@ namespace OpenSim.Region.ClientStack | |||
90 | // 1536000 | 90 | // 1536000 |
91 | private int throttleOutboundMax = 1536000; // Number of bytes allowed to go out per second. (256kbps per client) | 91 | private int throttleOutboundMax = 1536000; // Number of bytes allowed to go out per second. (256kbps per client) |
92 | // TODO: Make this variable. Lower throttle on un-ack. Raise over time? | 92 | // TODO: Make this variable. Lower throttle on un-ack. Raise over time? |
93 | private int throttleSentPeriod = 0; // Number of bytes sent this period | 93 | private int bytesSent = 0; // Number of bytes sent this period |
94 | 94 | ||
95 | private int throttleOutbound = 162144; // Number of bytes allowed to go out per second. (256kbps per client) | 95 | private int throttleOutbound = 162144; // Number of bytes allowed to go out per second. (256kbps per client) |
96 | // TODO: Make this variable. Lower throttle on un-ack. Raise over time | 96 | // TODO: Make this variable. Lower throttle on un-ack. Raise over time |
@@ -123,19 +123,19 @@ namespace OpenSim.Region.ClientStack | |||
123 | 123 | ||
124 | // Sim default per-client settings. | 124 | // Sim default per-client settings. |
125 | private int ResendthrottleOutbound = 50000; | 125 | private int ResendthrottleOutbound = 50000; |
126 | private int ResendthrottleSentPeriod = 0; | 126 | private int ResendBytesSent = 0; |
127 | private int LandthrottleOutbound = 100000; | 127 | private int LandthrottleOutbound = 100000; |
128 | private int LandthrottleSentPeriod = 0; | 128 | private int LandBytesSent = 0; |
129 | private int WindthrottleOutbound = 10000; | 129 | private int WindthrottleOutbound = 10000; |
130 | private int WindthrottleSentPeriod = 0; | 130 | private int WindBytesSent = 0; |
131 | private int CloudthrottleOutbound = 5000; | 131 | private int CloudthrottleOutbound = 5000; |
132 | private int CloudthrottleSentPeriod = 0; | 132 | private int CloudBytesSent = 0; |
133 | private int TaskthrottleOutbound = 100000; | 133 | private int TaskthrottleOutbound = 100000; |
134 | private int TaskthrottleSentPeriod = 0; | 134 | private int TaskBytesSent = 0; |
135 | private int AssetthrottleOutbound = 80000; | 135 | private int AssetthrottleOutbound = 80000; |
136 | private int AssetthrottleSentPeriod = 0; | 136 | private int AssetBytesSent = 0; |
137 | private int TexturethrottleOutbound = 100000; | 137 | private int TexturethrottleOutbound = 100000; |
138 | private int TexturethrottleSentPeriod = 0; | 138 | private int TextureBytesSent = 0; |
139 | 139 | ||
140 | private Timer throttleTimer; | 140 | private Timer throttleTimer; |
141 | 141 | ||
@@ -196,14 +196,14 @@ namespace OpenSim.Region.ClientStack | |||
196 | 196 | ||
197 | void throttleTimer_Elapsed(object sender, ElapsedEventArgs e) | 197 | void throttleTimer_Elapsed(object sender, ElapsedEventArgs e) |
198 | { | 198 | { |
199 | throttleSentPeriod = 0; | 199 | bytesSent = 0; |
200 | ResendthrottleSentPeriod = 0; | 200 | ResendBytesSent = 0; |
201 | LandthrottleSentPeriod = 0; | 201 | LandBytesSent = 0; |
202 | WindthrottleSentPeriod = 0; | 202 | WindBytesSent = 0; |
203 | CloudthrottleSentPeriod = 0; | 203 | CloudBytesSent = 0; |
204 | TaskthrottleSentPeriod = 0; | 204 | TaskBytesSent = 0; |
205 | AssetthrottleSentPeriod = 0; | 205 | AssetBytesSent = 0; |
206 | TexturethrottleSentPeriod = 0; | 206 | TextureBytesSent = 0; |
207 | 207 | ||
208 | // I was considering this.. Will an event fire if the thread it's on is blocked? | 208 | // I was considering this.. Will an event fire if the thread it's on is blocked? |
209 | 209 | ||
@@ -216,7 +216,7 @@ namespace OpenSim.Region.ClientStack | |||
216 | 216 | ||
217 | // We're going to dequeue all of the saved up packets until | 217 | // We're going to dequeue all of the saved up packets until |
218 | // we've hit the throttle limit or there's no more packets to send | 218 | // we've hit the throttle limit or there's no more packets to send |
219 | while ((throttleSentPeriod <= ((int)(throttleOutbound/throttleTimeDivisor)) && | 219 | while ((bytesSent <= ((int)(throttleOutbound/throttleTimeDivisor)) && |
220 | (ResendOutgoingPacketQueue.Count > 0 || | 220 | (ResendOutgoingPacketQueue.Count > 0 || |
221 | LandOutgoingPacketQueue.Count > 0 || | 221 | LandOutgoingPacketQueue.Count > 0 || |
222 | WindOutgoingPacketQueue.Count > 0 || | 222 | WindOutgoingPacketQueue.Count > 0 || |
@@ -227,61 +227,61 @@ namespace OpenSim.Region.ClientStack | |||
227 | { | 227 | { |
228 | throttleLoops++; | 228 | throttleLoops++; |
229 | //Now comes the fun part.. we dump all our elements into PacketQueue that we've saved up. | 229 | //Now comes the fun part.. we dump all our elements into PacketQueue that we've saved up. |
230 | if (ResendthrottleSentPeriod <= ((int)(ResendthrottleOutbound/throttleTimeDivisor)) && ResendOutgoingPacketQueue.Count > 0) | 230 | if (ResendBytesSent <= ((int)(ResendthrottleOutbound/throttleTimeDivisor)) && ResendOutgoingPacketQueue.Count > 0) |
231 | { | 231 | { |
232 | QueItem qpack = ResendOutgoingPacketQueue.Dequeue(); | 232 | QueItem qpack = ResendOutgoingPacketQueue.Dequeue(); |
233 | 233 | ||
234 | PacketQueue.Enqueue(qpack); | 234 | PacketQueue.Enqueue(qpack); |
235 | throttleSentPeriod += qpack.Packet.ToBytes().Length; | 235 | bytesSent += qpack.Packet.ToBytes().Length; |
236 | ResendthrottleSentPeriod += qpack.Packet.ToBytes().Length; | 236 | ResendBytesSent += qpack.Packet.ToBytes().Length; |
237 | } | 237 | } |
238 | if (LandthrottleSentPeriod <= ((int)(LandthrottleOutbound/throttleTimeDivisor)) && LandOutgoingPacketQueue.Count > 0) | 238 | if (LandBytesSent <= ((int)(LandthrottleOutbound/throttleTimeDivisor)) && LandOutgoingPacketQueue.Count > 0) |
239 | { | 239 | { |
240 | QueItem qpack = LandOutgoingPacketQueue.Dequeue(); | 240 | QueItem qpack = LandOutgoingPacketQueue.Dequeue(); |
241 | 241 | ||
242 | PacketQueue.Enqueue(qpack); | 242 | PacketQueue.Enqueue(qpack); |
243 | throttleSentPeriod += qpack.Packet.ToBytes().Length; | 243 | bytesSent += qpack.Packet.ToBytes().Length; |
244 | LandthrottleSentPeriod += qpack.Packet.ToBytes().Length; | 244 | LandBytesSent += qpack.Packet.ToBytes().Length; |
245 | } | 245 | } |
246 | if (WindthrottleSentPeriod <= ((int)(WindthrottleOutbound/throttleTimeDivisor)) && WindOutgoingPacketQueue.Count > 0) | 246 | if (WindBytesSent <= ((int)(WindthrottleOutbound/throttleTimeDivisor)) && WindOutgoingPacketQueue.Count > 0) |
247 | { | 247 | { |
248 | QueItem qpack = WindOutgoingPacketQueue.Dequeue(); | 248 | QueItem qpack = WindOutgoingPacketQueue.Dequeue(); |
249 | 249 | ||
250 | PacketQueue.Enqueue(qpack); | 250 | PacketQueue.Enqueue(qpack); |
251 | throttleSentPeriod += qpack.Packet.ToBytes().Length; | 251 | bytesSent += qpack.Packet.ToBytes().Length; |
252 | WindthrottleSentPeriod += qpack.Packet.ToBytes().Length; | 252 | WindBytesSent += qpack.Packet.ToBytes().Length; |
253 | } | 253 | } |
254 | if (CloudthrottleSentPeriod <= ((int)(CloudthrottleOutbound/throttleTimeDivisor)) && CloudOutgoingPacketQueue.Count > 0) | 254 | if (CloudBytesSent <= ((int)(CloudthrottleOutbound/throttleTimeDivisor)) && CloudOutgoingPacketQueue.Count > 0) |
255 | { | 255 | { |
256 | QueItem qpack = CloudOutgoingPacketQueue.Dequeue(); | 256 | QueItem qpack = CloudOutgoingPacketQueue.Dequeue(); |
257 | 257 | ||
258 | PacketQueue.Enqueue(qpack); | 258 | PacketQueue.Enqueue(qpack); |
259 | throttleSentPeriod += qpack.Packet.ToBytes().Length; | 259 | bytesSent += qpack.Packet.ToBytes().Length; |
260 | CloudthrottleSentPeriod += qpack.Packet.ToBytes().Length; | 260 | CloudBytesSent += qpack.Packet.ToBytes().Length; |
261 | } | 261 | } |
262 | if (TaskthrottleSentPeriod <= ((int)(TaskthrottleOutbound/throttleTimeDivisor)) && TaskOutgoingPacketQueue.Count > 0) | 262 | if (TaskBytesSent <= ((int)(TaskthrottleOutbound/throttleTimeDivisor)) && TaskOutgoingPacketQueue.Count > 0) |
263 | { | 263 | { |
264 | QueItem qpack = TaskOutgoingPacketQueue.Dequeue(); | 264 | QueItem qpack = TaskOutgoingPacketQueue.Dequeue(); |
265 | 265 | ||
266 | PacketQueue.Enqueue(qpack); | 266 | PacketQueue.Enqueue(qpack); |
267 | throttleSentPeriod += qpack.Packet.ToBytes().Length; | 267 | bytesSent += qpack.Packet.ToBytes().Length; |
268 | TaskthrottleSentPeriod += qpack.Packet.ToBytes().Length; | 268 | TaskBytesSent += qpack.Packet.ToBytes().Length; |
269 | } | 269 | } |
270 | if (TexturethrottleSentPeriod <= ((int)(TexturethrottleOutbound/throttleTimeDivisor)) && TextureOutgoingPacketQueue.Count > 0) | 270 | if (TextureBytesSent <= ((int)(TexturethrottleOutbound/throttleTimeDivisor)) && TextureOutgoingPacketQueue.Count > 0) |
271 | { | 271 | { |
272 | QueItem qpack = TextureOutgoingPacketQueue.Dequeue(); | 272 | QueItem qpack = TextureOutgoingPacketQueue.Dequeue(); |
273 | 273 | ||
274 | PacketQueue.Enqueue(qpack); | 274 | PacketQueue.Enqueue(qpack); |
275 | throttleSentPeriod += qpack.Packet.ToBytes().Length; | 275 | bytesSent += qpack.Packet.ToBytes().Length; |
276 | TexturethrottleSentPeriod += qpack.Packet.ToBytes().Length; | 276 | TextureBytesSent += qpack.Packet.ToBytes().Length; |
277 | } | 277 | } |
278 | if (AssetthrottleSentPeriod <= ((int)(AssetthrottleOutbound/throttleTimeDivisor)) && AssetOutgoingPacketQueue.Count > 0) | 278 | if (AssetBytesSent <= ((int)(AssetthrottleOutbound/throttleTimeDivisor)) && AssetOutgoingPacketQueue.Count > 0) |
279 | { | 279 | { |
280 | QueItem qpack = AssetOutgoingPacketQueue.Dequeue(); | 280 | QueItem qpack = AssetOutgoingPacketQueue.Dequeue(); |
281 | 281 | ||
282 | PacketQueue.Enqueue(qpack); | 282 | PacketQueue.Enqueue(qpack); |
283 | throttleSentPeriod += qpack.Packet.ToBytes().Length; | 283 | bytesSent += qpack.Packet.ToBytes().Length; |
284 | AssetthrottleSentPeriod += qpack.Packet.ToBytes().Length; | 284 | AssetBytesSent += qpack.Packet.ToBytes().Length; |
285 | } | 285 | } |
286 | 286 | ||
287 | } | 287 | } |
@@ -441,7 +441,7 @@ namespace OpenSim.Region.ClientStack | |||
441 | else | 441 | else |
442 | { | 442 | { |
443 | // Throw it back on the queue if it's going to cause us to flood the client | 443 | // Throw it back on the queue if it's going to cause us to flood the client |
444 | if (throttleSentPeriod > throttleOutboundMax) | 444 | if (bytesSent > throttleOutboundMax) |
445 | { | 445 | { |
446 | PacketQueue.Enqueue(nextPacket); | 446 | PacketQueue.Enqueue(nextPacket); |
447 | MainLog.Instance.Verbose("Client over throttle limit, requeuing packet"); | 447 | MainLog.Instance.Verbose("Client over throttle limit, requeuing packet"); |
@@ -462,7 +462,7 @@ namespace OpenSim.Region.ClientStack | |||
462 | 462 | ||
463 | //Don't throttle AvatarPickerReplies!, they return a null .ToBytes()! | 463 | //Don't throttle AvatarPickerReplies!, they return a null .ToBytes()! |
464 | if (nextPacket.Packet.Type != PacketType.AvatarPickerReply) | 464 | if (nextPacket.Packet.Type != PacketType.AvatarPickerReply) |
465 | throttleSentPeriod += nextPacket.Packet.ToBytes().Length; | 465 | bytesSent += nextPacket.Packet.ToBytes().Length; |
466 | 466 | ||
467 | 467 | ||
468 | //is a out going packet | 468 | //is a out going packet |