* Fix packet sending to only send ACKs for incoming packets marked as reliable, not every incoming packet

* Fixed a bug in ACK sending that was eating up CPU time
* Put the final UDP packets on the wire synchronously instead of asynchronously. Profiling showed this to be faster than .NET 2.0 style asynchronous sending (although possibly still slower than .NET 3.5 style asynchronous sending)
* Small tweak to LocklessQueue to try and keep LocklessQueue.Count as accurate as possible

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3417 52acb1d6-8a22-11de-b505-999d5b087335
This commit is contained in:
John Hurliman
2010-08-12 19:20:37 +00:00
parent 3fb3d19b52
commit dcfb27288a
3 changed files with 57 additions and 45 deletions

View File

@@ -126,6 +126,7 @@ namespace OpenMetaverse
if (oldHeadNext == null)
{
item = default(T);
count = 0;
return false;
}
if (CAS(ref head, oldHead, oldHeadNext))