John Hurliman
baaf1fb1f4
* Only append ACKs to outgoing packets if one or more ACKs are successfully dequeued
...
* 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
2009-05-27 00:29:43 +00:00
Jim Radford
b49d0736cc
LIBOMV-557 Adds sanity check to CoarseLocationHandler to fix IndexOutOfRangeException, Underlying problem is the packet being sent from Simian
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2811 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-26 16:24:00 +00:00
Jim Radford
7ba41deb9a
Added several additional decoders to PacketToString class
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2810 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-26 08:50:58 +00:00
Jim Radford
131bf95f45
LIBOMV-512 Adds SpecialDecoder for handling EstateOwner message paramaters
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2809 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-26 04:13:11 +00:00
John Hurliman
2f0aea84b0
* Sanity check for invalid response data during login in libomv and GridClient
...
* Couple of tiny fixes here and there
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2806 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-25 19:33:20 +00:00
Jim Radford
de8c3131a1
LIBOMV-492 WinGridProxy - Automatically colorize packet details in view
...
* Log Viewer built into WinGridProxy
* New Decoder system supports the ability to do custom decoding on packet fields, PacketToString moved from Helpers to its own class.
* GridProxy library now uses log4net library to do logging, WinGridProxy logging configuration added to make use of this.
LIBOMV-512 WinGridProxy decodes KeyValue pairs
* Added Invert & Mirror flags to sculptType enum
* Converted SoundManager to use the SoundFlags enum in the AttachedSound callback
* TestClient "who" command now shows agents logal ID
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2805 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-25 19:00:28 +00:00
31cc322c68
Resolves LIBOMV-555: Too thin lock in ObjectManager.GetAvatar/GetPrimitive
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2803 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-24 02:42:07 +00:00
John Hurliman
3015a7a271
Minor cleanup
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2801 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-22 21:47:28 +00:00
John Hurliman
f1e8fd4fe8
Major rewrite of the packet sending code:
...
* 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
2009-05-22 19:54:00 +00:00
Latif Khalifa
dcb7da5a24
* [LIBOMV-549] Added Packet.ToBytesMultiple() class that will automatically split a packet with variable blocks up into multiple packets that fit in the MTU (1200). Unit test is included. This is not actually being used by the library anywhere (yet), but hopefully it will be soon
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2799 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-22 00:09:22 +00:00
John Hurliman
c82459c323
* Removed the unnecessary overflow check when setting packet sequence number. Interlocked.Increment() handles wrapping for us
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2798 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-21 22:25:25 +00:00
John Hurliman
0c0e99af4a
Removed all thread synchronization from UDPBase. Instead, try/catch blocks are used to handle shutdown
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2797 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-21 19:03:34 +00:00
John Hurliman
94f881085a
Fixing pending ACK locking problems mentioned in [LIBOMV-551] and [LIBOMV-548]
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2796 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-21 17:44:39 +00:00
Latif Khalifa
f18d1a6472
LIBOMV-550 Allow LLSD serialization of prims that don't have name/description properties
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2795 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-21 17:27:19 +00:00
John Hurliman
44547ead18
Recursive locking fix, should address [TC-67] and part of [LIBOMV-548]
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2793 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-21 16:37:13 +00:00
John Hurliman
5f20603374
* Small performance tweaks to packet classes
...
* Fixed a recursive locking problem when running UDPBase in server mode
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2788 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-20 19:21:30 +00:00
John Hurliman
032ce35729
Replacing networking stats tracking code with thread-safe calls
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2784 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-19 17:27:43 +00:00
Latif Khalifa
f2399326ce
LIBOMV-546 Removing comments that are no longer true
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2783 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-19 09:07:37 +00:00
Latif Khalifa
40c7faf1c2
LIBOMV-546 Fix XML-RPC login on login redirects
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2782 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-19 09:05:34 +00:00
John Hurliman
14cb071e68
Switched back to async UDP sending, but still not wasting cycles firing PacketSent() callback. We should remove this callback entirely
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2779 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-18 22:27:08 +00:00
Jim Radford
a892026414
LIBOMV-544 Adds set accessor to Type property for sculpted prims
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2777 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-17 07:41:13 +00:00
Jim Radford
9f77df039b
LIBOMV-544 Corrects implementation of previous commit, Invert and Mirror are now properties of a Sculpted Prim Patch courtesy of Douglas Miles
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2776 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-17 07:33:49 +00:00
Jim Radford
0cf52c5214
LIBOMV-544 Adds Invert and Mirror properties for sculpted prims, Patch courtesy of Douglas Miles
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2775 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-17 02:44:15 +00:00
John Hurliman
2520b6d0ea
* Adding a LocklessQueue collection to OpenMetaverseTypes
...
* Fixing minor compile warnings
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2772 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-16 09:12:12 +00:00
John Hurliman
8014afcc3e
* Added ReaderWriterLockSlim.cs to OpenMetaverseTypes from the Mono SVN
...
* Prebuild will now define the VISUAL_STUDIO symbol in .csproj files while leaving NAnt files alone
* A conditional was added to use the .NET ReaderWriterLockSlim for VS compiles and the one in OpenMetaverseTypes for Mono compiles. This is a kludge until everyone is running Mono 2.6 or later (hah)
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2769 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-16 01:34:41 +00:00
Jim Radford
fdc6fc6a8d
corrects TexturePipeline startup issue under mono which caused the DownloadThread to exit immediately.
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2767 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-16 00:40:01 +00:00
John Hurliman
b3d686ef38
Upgraded UDPBase to use ReaderWriterLockSlim in non-recursive locking mode. This is mostly an experiment to see if the project will compile under Mono
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2765 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-16 00:23:37 +00:00
Jim Radford
32a6461fa0
LIBOMV-543 Adds addtional methods, handlers and events for dealing with Classified Ads, Patch courtesy of Daten Thielt
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2762 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-14 19:35:57 +00:00
Jim Radford
f3633d6f1e
LIBOMV-540 Adds eventqueue message handler for ScriptRunningReply event message in InventoryManager new event: OnScriptRunning, new callback: ScriptRunningCallback (Untested)
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2760 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-13 23:53:16 +00:00
Jim Radford
10ef80a645
LIBOMV-477 Adds SearchStatRequest capability to message system (two Variants, one for the initial request, and one for the response) *Unit Tests not implemented*
...
* Some more work on the benchmarks (added an additional tiny test)
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2759 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-13 22:37:40 +00:00
Jim Radford
f2dbbb00b6
LIBOMV-540 Adds parameter to CopyScriptToTask method which allows the scripts running state to be set.
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2758 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-13 21:27:38 +00:00
Jim Radford
8290681242
LIBOMV-540 Adds check for ScriptRunningReply to the Event Decoder
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2757 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-13 20:37:03 +00:00
Jim Radford
168df79f12
LIBOMV-540 Adds method to InventoryManager to change the request the running status of a script contained in a Task inventory
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2756 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-13 20:35:47 +00:00
Jim Radford
9088bb0f6e
LIBOMV-540 Adds method to InventoryManager to change the running state of a script.
...
* Switches RequestUpdateScriptAgentInventory method to use IMessage system
* Fixes a couple minor typos in InventoryManager
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2751 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-13 17:10:44 +00:00
John Hurliman
4a8079ff2e
* Fixing GroupPowers struct. The previous bit-shifting math was created 32-bit values that wrapped around and then converting to 64-bit. Hardcoded integers are used for all of the values now (thank you mcortez)
...
* Replacing hardcoded paths in OAR archiving with constants
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2750 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-12 23:01:16 +00:00
Jim Radford
90825a5042
LIBOMV-539 Patch from Douglas Miles - Implements example TestClient command to upload a script to inventory + corrects capability name
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2748 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-12 11:58:12 +00:00
John Hurliman
a970cbd661
Initial commit of the OpenMetaverse.Assets namespace. Serialization/deserialization for new PrimObject is done, but OAR saving/loading is still a work in progress
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2746 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-12 00:07:35 +00:00
John Hurliman
0746947075
* Fixing premature commit of BakeLayer
...
* Adding an alternative implementation of one of the benchmark tests for serialization that should be more fair (untested)
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2745 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-11 22:32:37 +00:00
John Hurliman
ad102f3ea9
Moving OpenMetaverseTypes library to its own folder. This will save a lot of prebuild headaches
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2744 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-11 19:28:50 +00:00
Jim Radford
b1917c36d5
* Start of full documentation for LindenMessages.cs classes,
...
* adds two Benchmark tests to MessageTests.cs for comparing the IMessage formatting vs the .NET BinaryFormatter
* Updates Caps.cs with latest known capabilities
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2743 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-11 19:26:18 +00:00
Jim Radford
b32e8eda99
LIBOMV-538 Implement Generic ThreadSafe Dictionary
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2741 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-11 16:16:28 +00:00
Jim Radford
6b0eb9a34d
LIBOMV-535 implements RezRestoreToWorld packet functionality in InventoryManager. New Method: RequestRestoreRezFromInventory which places an inventory item back at its previous simulator position from inventory.
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2740 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-10 09:31:07 +00:00
Jim Radford
9ad17de8e3
LIBOMV-530 Updates Simulator object to include new variables included in 1.23 message template which are sent during the region handshake and include information on physical server location, the type of region (Homestead, OpenSpace, etc), CPU Class and CPU Ratio.
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2738 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-10 09:05:06 +00:00
Jim Radford
946cd90a06
LIBOMV-477 Adds DirLandReplyMessage + Test to Message system
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2737 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-10 05:44:40 +00:00
Jim Radford
7155dfa2ac
LIBOMV-529 Adds new UpdateAgentInformation Message + Test
...
LIBOMV-477 Adds PlacesReplyMessage + Test to Message system
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2736 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-10 04:59:43 +00:00
4af13d7890
[EstateTools.cs]
...
* Fixed SetRegionTerrainHeights not using correct float ToString overload supplying EnUsCulture
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2735 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-10 02:59:50 +00:00
Jim Radford
70576d8349
LIBOMV-528 Adds several methods to EstateTools, Patch courtesy of Daten, Thanks!
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2734 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-10 01:53:31 +00:00
John Hurliman
3e314edc95
* [LIBOMV-530] Updating to the message_template.msg for LL viewer 1.23. In *theory* this should just work without breaking anything. _Packets_.cs has been regenerated as well
...
* Adding CB messages for authentication from World to Identity
* Removing simulation_key references from the CB message template
* Finished the first draft of the primitive LLIDL definition
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2733 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-10 01:14:42 +00:00
Jim Radford
4150bc611f
LIBOMV-531 Creates Message for PlacesReply eventqueue message (Still need to add a unit test)
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2731 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-09 22:46:38 +00:00
John Hurliman
eaf069d688
* Removing all references to SimulationKey from Cable Beach messages. This was a poorly thought out design that mixed architecture and implementation
...
* Slight tweaks to Cable Beach AvatarAttributes, trying to encompass all of the avatar data OpenSim currently uses
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2729 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-09 19:41:58 +00:00