Commit Graph

407 Commits

Author SHA1 Message Date
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