Commit Graph

37 Commits

Author SHA1 Message Date
Jim Radford
a4242c1a0d * Corrects some compile warnings caused by out of sync xml documentation
* Updates Doc Builder tool to support the OpenMetaverseCore library

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3023 52acb1d6-8a22-11de-b505-999d5b087335
2009-07-24 08:25:28 +00:00
Jim Radford
b60db797b2 LIBOMV-501 Cleans up all compiler warnings with a few exceptions that need to be addressed individually
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3015 52acb1d6-8a22-11de-b505-999d5b087335
2009-07-22 06:57:52 +00:00
Jim Radford
25aef9f879 Mark RemoteParcelRequestBlock Serializable for unit performance tests, Fix summary in OnLogoutReply event documentation
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3009 52acb1d6-8a22-11de-b505-999d5b087335
2009-07-21 21:34:27 +00:00
Jim Radford
0530b799b5 XML Documentation updates (No code changes)
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3008 52acb1d6-8a22-11de-b505-999d5b087335
2009-07-21 21:05:12 +00:00
Latif Khalifa
5db0207329 LIBOMV-636: More timer cleanup
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2999 52acb1d6-8a22-11de-b505-999d5b087335
2009-07-17 18:17:27 +00:00
John Hurliman
4851c9b214 * [LIBOMV-600] Don't disconnect sims we teleport away from, the grid will do that for us
* [LIBOMV-601] Don't mark any simulators as disconnected other than the current simulator. There's no benefit in firing disconnect events for them, and there are too many false positives

Thank you Douglas R Miles for both of these

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2921 52acb1d6-8a22-11de-b505-999d5b087335
2009-06-27 22:28:08 +00:00
John Hurliman
1ea4221f11 * Moved ACK handling to PacketReceived instead of after the incoming packet queue. This reduces average round trips (on the loopback connection) from ~200ms to ~15ms
* Added a more efficient collection for tracking already received packets

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2816 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-27 16:54:05 +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
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
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
1ac746c3f2 LIBOMV-501 Pass 2: Cleanup of compile time warnings
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2714 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-08 07:45:28 +00:00
John Hurliman
79beceeb1d * Rewrote the Header class as a struct and optimize for speed. This shouldn't be a breaking change for most apps, but GridProxy and WinGridProxy will need to be tested as thoroughly as possible. Important to note is that Packet.Header.AckList can be null now
* 404 checking in SeedRequestCompleteHandler
* A few new big endian conversion methods in Utils

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2709 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-08 06:38:28 +00:00
Latif Khalifa
98ca04c665 Revert duplicate setting, rate limiting can already be disabled with THROTTLE_OUTGOING_PACKETS
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2642 52acb1d6-8a22-11de-b505-999d5b087335
2009-04-21 20:18:24 +00:00
Jim Radford
8fed742abc Add Setting to disable outbound packet rate limiting to Settings
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2635 52acb1d6-8a22-11de-b505-999d5b087335
2009-04-20 08:00:42 +00:00
Jim Radford
57b74be3a9 Fix some compile time warnings, clean out cruft EnableSimulatorHandler code
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2634 52acb1d6-8a22-11de-b505-999d5b087335
2009-04-20 07:50:25 +00:00
Jim Radford
e24d24a201 LIBOMV-477 Big Messaging system update:
* Adds new IMessage interface for messaging system
* Adds additional Caps Messages + Tests for most (All incoming caps messages should now be handled by new messaging system)
* Unit Tests for new messaging system only test that decoding and encoding work properly, they do not confirm proper formatting required by the simulator
* Switches EventQueueCallback to decode and send message to registered callbacks
* Switches several caps requests over to new messaging interface
Some in-process work is left commented and cluttering up in a few places. Will remove after more cleanup is done
* Update source header/copyright in several classes
Note: this commit features several breaking changes to existing clients. Much code that has been only lightly tested, please report bugs in jira.

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2599 52acb1d6-8a22-11de-b505-999d5b087335
2009-04-13 09:32:25 +00:00
Jim Radford
1d272577c9 LIBOMV-487 Implements UDP Blacklisting. Packets returned from login server udp_blacklist are added to a list. A warning is logged if we receive one of these packets and further procesing is cancelled.
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2597 52acb1d6-8a22-11de-b505-999d5b087335
2009-04-10 23:40:07 +00:00
John Hurliman
e69157a4af [Simian]
* Sim to sim caps for establishing child agents
* Still working out a bug in the libomv event queue, committing what is done for now

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2485 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-16 18:02:48 +00:00
John Hurliman
39f154178b Implemented NetworkManager.OnPacketSent callback that is fired after every outgoing packet has been put on the wire. Adds the basic functionality requested in [LIBOMV-60]
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2444 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-17 19:22:07 +00:00
John Hurliman
4b1f441574 * Sanity check in DeserializeLLSDXml() to return an empty LLSD block instead of throwing an exception
* 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
2008-12-05 01:34:24 +00:00
John Hurliman
956b2a6b78 * Lots of networking code cleanup, should hopefully resolve [LIBOMV-415] (thank you Teravus!)
* OldestUnacked is now properly set in outgoing pings
* Enable sending pings by default

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2333 52acb1d6-8a22-11de-b505-999d5b087335
2008-11-07 20:28:32 +00:00
John Hurliman
bad3108ddf * Renamed LLSD to OSD. The LLSD-specific (de)serialization functions have been renamed to specify they use LLSD. Other serialization formats will be added in the future, along with better native support for vectors and unsigned integers
* Added Utils.SHA1()

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2321 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-30 01:50:59 +00:00
b26e505387 Implements LIBOMV-408: Simulator Pause/Resume functionality (replaces NetworkManager.Pause/Resume functions which only affected the current simulator)
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2311 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-27 02:11:40 +00:00
Jim Radford
fd2e1a2524 LIBOMV-403 Corrects RegionHandle returned in OnSimConnected callback which was stored improperly in the Simulator object (Endian issue, bytes were reversed) Thanks Teravus for the report and testing the fix!
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2309 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-26 08:37:23 +00:00
beaf3f9a85 Added Pause and Resume to NetworkManager to request that the sim stops or resumes sending update (and possibly other) packets
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2299 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-15 23:59:27 +00:00
Jim Radford
c9356000dc LIBOMV-389 Switches deprecated EnableSimulator packet over to CAPS handler instead of through our generic caps->udp serializer, this doesn't change the behavior it only gets rid of the flood of messages when Settings.MULTIPLE_SIMS=false;
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2247 52acb1d6-8a22-11de-b505-999d5b087335
2008-09-30 21:26:30 +00:00
John Hurliman
8e70446f3c * Added Utils.CopyBytes() to OpenMetaverseTypes, should be used any time a byte array is grabbed from a packet member and directly assigned to another variable
* Moved Simulator enums (RegionFlags and SimAccess) into the main OpenMetaverse namespace
* More comments

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2233 52acb1d6-8a22-11de-b505-999d5b087335
2008-09-22 15:05:14 +00:00
John Hurliman
6b040fd03a * Moved ParcelManager enums out into the main OpenMetaverse namespace
* Removed some members from the Parcel struct that shouldn't be there

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2232 52acb1d6-8a22-11de-b505-999d5b087335
2008-09-22 13:02:27 +00:00
John Hurliman
451015b674 Removing ResendCount and TickCount from Packet class, moved to OutgoingPAcket struct. This is necessary to prevent big problems when sending the same packet to multiple destinations
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2204 52acb1d6-8a22-11de-b505-999d5b087335
2008-09-08 23:57:31 +00:00
John Hurliman
23a25709a9 * Rolling CAPS implementation back to the synchronous version until we can figure out how to fix the TeleportFinish replay bug in the async
* Removing some debug noise

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2095 52acb1d6-8a22-11de-b505-999d5b087335
2008-08-16 06:30:08 +00:00
John Hurliman
0bd77baba2 * Adding generic HttpServer to OpenMetaverse.Capabilites
* LoginResponseData can now serialize to XmlRpc
* Adding new Simian project, ultra-lightweight simulator for testing and development
* Shuffling OpenMetaverse.Capabilities around a bit in preparation for CAPS server implementation

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2094 52acb1d6-8a22-11de-b505-999d5b087335
2008-08-16 02:04:20 +00:00
John Hurliman
99239ebcfc * Splits libomv into OpenMetaverseTypes.dll and OpenMetaverse.dll
* All MathUtils and non-SL-specific Helpers functions have been put in OpenMetaverseTypes.dll inside the Utils class. Helpers only contains SL-specific functions now
* LLSD encoding/decoding for custom types has been moved out of the types and implemented as static functions in the LLSD class

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2082 52acb1d6-8a22-11de-b505-999d5b087335
2008-08-12 22:38:02 +00:00
John Hurliman
e2986fbf06 * Heralding in a new era of botdom with [LIBOMV-343], rate limiting for outgoing packets
* Converted BlockingQueue to a generic collection

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2048 52acb1d6-8a22-11de-b505-999d5b087335
2008-08-02 01:49:20 +00:00
John Hurliman
51aa7dbe10 * Removing unused InventoryNode and InventoryNodeDictionary files
* Adding INetworkManager interface, a good starting point for converting all of the manager classes to interfaces
* Changing object pooling for packet buffers from per-sim to a singleton in ObjectPool.cs, should resolve memory leaks for bots that travel the world [LIBOMV-338]
* Removing DetectBotCommand since that detection method does not work
* More work on Matrix4 type

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2034 52acb1d6-8a22-11de-b505-999d5b087335
2008-07-30 19:24:15 +00:00
Jim Radford
2ec24f22fa Compiler warning cleanup, fixes all unmatched parameters (adds empty placeholders for CrisOmega to fill in when he wakes up :)), Adds additional warning supressions to prebuild.xml
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2033 52acb1d6-8a22-11de-b505-999d5b087335
2008-07-30 06:51:51 +00:00
John Hurliman
81e6342d36 Removing LL prefix from all basic types
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1998 52acb1d6-8a22-11de-b505-999d5b087335
2008-07-25 05:15:05 +00:00
John Hurliman
c1f3d6a3c2 Renaming libsecondlife folder to OpenMetaverse. Part of a multi-step process, do not check out this revision!
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1957 52acb1d6-8a22-11de-b505-999d5b087335
2008-07-22 22:56:05 +00:00