Commit Graph

2368 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
2cd2df4f09 Fixed a minor merge collision in GridProxy
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2808 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-25 20:16:29 +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
63552f5ea3 [OpenMetaverse.GUI]
* Added default/assignable context menus to several GUI Elements
* Moved ListColumnSorter to a separate shared class

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2804 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-24 02:51:15 +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
9e886d2f38 Updated prebuild.xml to compile HttpServer as a .NET 3.5 lib
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2792 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-21 05:35:23 +00:00
John Hurliman
63522e828c [OpenMetaverse.Http]
* Made sure to always close streams and responses in CapsBase
* Commented out noisy CAPS logging
* Updated to use the new HttpServer callback signature

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2791 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-21 05:33:40 +00:00
baba
069f335441 Add buildfile for running prebuild and compiling in one step using NAnt.
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2790 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-20 20:54:27 +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
63591c0e3b Removing some prebuild references for IRCGateway to assemblies that don't exist (they are all namespaces inside System.dll)
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2780 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-18 22:28:41 +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
bb68819d3f Removing CircularHashedQueue since 1) the implementation was wrong, 2) it was highly specific to a single task in ACK management and not a generally useful collection
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2774 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-16 10:55:19 +00:00
John Hurliman
30e17756d0 * Adding try/finally blocks for every lock acquisition in DoubleDictionary to keep exceptions from putting the collection in an inconsistent state
* Removed [] get accessors until someone can demonstrate thread-safe code that uses them (they encourage non-threadsafe code patterns)

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2773 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-16 09:28:03 +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
ef072802d4 Changed DoubleDictionary to use ReaderWriteLockSlim
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2771 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-16 02:00:11 +00:00
John Hurliman
660ada1b8c Reverting the hack to make Prebuild always put NAnt in mono-3.5 profile
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2770 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-16 01:43:08 +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
John Hurliman
41dc784a91 Fixing a silly issue with NUnit thinking a helper method is actually a test
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2768 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-16 00:44:37 +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
61336cff23 Part two of the experimental commit: Configure NAnt to always use the mono-3.5 profile
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2766 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-16 00:36:16 +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
fa31093174 Rename WinGridProxy main form class files
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2764 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-15 19:20:59 +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
63f2f3ffc9 LIBOMV-541 adds new TestClient command to set a script tasks running state.
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2761 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-14 04:48:48 +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
cd7e2893b3 LIBOMV-539 oops typo
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2749 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-12 12:04:46 +00:00