* Heralding in a new era of botdom with [LIBOMV-343], rate limiting for outgoing packets

* Converted BlockingQueue to a generic collection

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2048 52acb1d6-8a22-11de-b505-999d5b087335
This commit is contained in:
John Hurliman
2008-08-02 01:49:20 +00:00
parent 09340efe47
commit e2986fbf06
6 changed files with 151 additions and 93 deletions

View File

@@ -890,7 +890,8 @@ namespace OpenMetaverse
Thread th = new Thread(delegate()
{
int y, x;
int count = 0, y, x;
for (y = 0; y < 64; y++)
{
for (x = 0; x < 64; x++)
@@ -903,11 +904,22 @@ namespace OpenMetaverse
Client.Parcels.PropertiesRequest(simulator,
(y + 1) * 4.0f, (x + 1) * 4.0f,
y * 4.0f, x * 4.0f, 0, false);
// Pause after every request to avoid flooding the sim
System.Threading.Thread.Sleep(msDelay);
// Simulators can be sliced up in 4x4 chunks, but even the smallest
// parcel is 16x16. There's no reason to send out 4096 packets. If
// we sleep for a little while here it is likely the response
// packet will come back and nearby parcel information is filled in
// so we can skip a lot of unnecessary sends
Thread.Sleep(100);
++count;
}
}
}
Logger.Log(String.Format(
"Requested full simulator parcel information. Sent {0} parcel requests. Current outgoing queue: {1}",
count, Client.Network.OutboxCount), Helpers.LogLevel.Info);
});
th.Start();