* 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
* Login fix for Linux clients now that the null ID0 is blacklisted
* Change Parcel from a struct to a class (this object is huge!) and remove the redundant initializers in the constructor
* Moved Terrain and WindSpeed data from TerrainManager to the Simulator class
* Don't track wind data either if STORE_LAND_PATCHES is disabled
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3298 52acb1d6-8a22-11de-b505-999d5b087335
LIBOMV-650 Correctly displays capability messages after import
* Fixes saving and restoring sessions and filters in WinGridProxy
* Many Changes to WinGridProxy UI, AutoScroll is no longer an option, instead the Session ListView can be sorted by the # column to have this behavior, Hex/binary data can be saved to individual files for outside processing (tiny button on bottom toolbar of Hex tab when hex has data that can be exported)
* Filter save/restore options are now on the Filters tab since thats where they are most useful
* Adds support for decoding AgentGroupDataUpdate message which OpenSim sends as an "AvatarGroupsReply"
* Updates and additional documentation in AgentManager, Simulator and ObjectManager classes
* PacketDecoder class is now static
* Removed profanity in debugging Console write
* Updates to Decoders: Decode LayerData type, Show internal Animation constant for built in animations
* Moved Message decoder to PacketDecoder class
* Add some sanity checks in GridProxy to prevent throwing an exception when a GridProxy is restarted and a viewer wasn't informed.
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3205 52acb1d6-8a22-11de-b505-999d5b087335
* Changes some public method names to match patterns used through library, namely requests that have an event are named with Request as a prefix
* Add Key2Name TestClient command for resolving group and avatar names based on a UUID
* BREAKING CHANGE * this is a major shift in the way events are internally handled.
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3151 52acb1d6-8a22-11de-b505-999d5b087335
* Fixed unintended overriding of LindenMessages.AssetUploaderBlock.State
* Changed the disposable pattern of Simulator to match what MS code analysis suggested
* Added using { } blocks to lots of stream opening to ensure the streams are always closed before going out of scope
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3080 52acb1d6-8a22-11de-b505-999d5b087335
* Commented out noisy CAPS debugging messages
* Added a test (under packet tests for lack of a better place) to measure Environment.TickCount resolution and fail if the resolution is not consistently under a 10ms variance
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2813 52acb1d6-8a22-11de-b505-999d5b087335
* Automatic packet splitting. You can send packets with any number of blocks and the networking layer will split them up automatically
* Less memory is allocated for outgoing packet buffers
* Memory is only allocated for zerocoding (outgoing and incoming) when it is needed
* A lockless queue is used to hold outgoing ACKs
* ACKs are stuffed into packets until they hit the MTU
* All outgoing packets are serialized exactly once, instead of serializing every resend
* Improved the clarity of the networking layer (I will upload a flow chart of packet sending soon)
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2800 52acb1d6-8a22-11de-b505-999d5b087335
* Changed simulator.AvatarPositions from Dictionary to InternalDictionary
* Resolves LIBOMV-450 by removing simulator.PositionIndexYou and .PositionIndexPrey in favor of Client.Self.AgentID and simulator.PreyID for indexing AvatarPositions
[InternalDictionary.cs]
* Added lock to .TryGetValue
* Added .FindAll overload for using a key as the predicate instead of value
[OpenMetaverse.GUI]
* Visual and functional enhancements to Minimap and AvatarList (takes advantage of new AvatarPositions code)
* Added failed login retry dialog to Dashboard
* Added more documentation to public classes
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2549 52acb1d6-8a22-11de-b505-999d5b087335
* Removing redundant code from OpenMetaverse.Utilities
* Using System.Diagnostics.StopWatch instead of Environment.TickCount for rate limiting, and speeding up packet sending from 75ms gaps to 10ms (might be slightly too fast, but it works for me)
* Cleaning up the logic a big in RequestAllSimParcels()
* Try/catch block in GridProxy around packet delegates
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2371 52acb1d6-8a22-11de-b505-999d5b087335
* Fixed typo in Simian.ini that was disabling connection management
* Replaced several unnecessary foreach loops in Simian with dictionary lookups
* Simian now uses the last detected system IP address instead of the first
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2342 52acb1d6-8a22-11de-b505-999d5b087335
* Finished TerrainManager.DecompressWind() and added TerrainManager.WindSpeeds. Holds a 16x16 array of Vector2s, each one representing the wind speed at a 16x16m area
* Added a WindCommand to TestClient to print the wind speed where the avatar is standing
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2241 52acb1d6-8a22-11de-b505-999d5b087335