Latif Khalifa
646b1b7770
Tell the sim that we know how to handle server side appearance
...
LL protocol change necessitated by the fix to
https://jira.secondlife.com/browse/SUN-74
2013-06-19 18:06:27 +02:00
Latif Khalifa
d1080a24d9
Added support for new fields in the RegionHandshake packet
2012-12-16 01:34:26 +01:00
Latif Khalifa
1808bdbe51
LIBOMV-888: Wait for UseCircuitCode ack before proceeding with connection to the sim
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3499 52acb1d6-8a22-11de-b505-999d5b087335
2011-04-15 12:53:08 +00:00
John Hurliman
903dc7570b
* Enabled synchronous handling for seven high traffic sim->client packets: AvatarAnimation, CoarseLocation, ImprovedTerseObjectUpdate, ObjectUpdate, StartPingCheck, CompletePingCheck, and SimStats. For the first four in that last, if your app registers a callback that is fired from any of those handlers the callback will be fired asynchronously still while the rest of the handler runs synchronously
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3419 52acb1d6-8a22-11de-b505-999d5b087335
2010-08-12 22:37:27 +00:00
John Hurliman
d999f404cb
* Added an overload to NetworkManager.RegisterCallback() that specifies whether a callback should be ran synchronously or asynchronously. Existing RegisterCallback() call defaults to async, new overload is not used by any packet handlers yet
...
* Removed deprecated Settings.SYNC_PACKETCALLBACKS
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3418 52acb1d6-8a22-11de-b505-999d5b087335
2010-08-12 19:44:57 +00:00
Latif Khalifa
1cf8dee511
LIBOMV-857: Avoid sending AgentUpdate message before we send
...
RegionHandshakeReply during the connection sequence, it corrupts
agent position and causes other ill side-effects in Linden sim 1.40.4.
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3377 52acb1d6-8a22-11de-b505-999d5b087335
2010-07-22 07:35:01 +00:00
Jim Radford
589e3dc413
Changed from exception being thrown to an Error Log entry when an attempt to send a packet to an invalid simulator was recieved. Make sure you to check your packet sending code for a valid simulator or your packet will be eaten and ignored.
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3230 52acb1d6-8a22-11de-b505-999d5b087335
2009-11-16 23:38:04 +00:00
Latif Khalifa
942c6e17fe
Avoid raising Disconnected event twice, both in KickUserHandler(), and later in Shutdown().
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3199 52acb1d6-8a22-11de-b505-999d5b087335
2009-10-31 14:52:02 +00:00
Latif Khalifa
559198b74b
Turns out we were setting Login Success the correct place after all, after successful call to NetworkManager.Connect()
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3197 52acb1d6-8a22-11de-b505-999d5b087335
2009-10-30 10:15:43 +00:00
Latif Khalifa
18b957edcb
Move the Success stage of connection sequence to after we have the current sim.
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3196 52acb1d6-8a22-11de-b505-999d5b087335
2009-10-30 09:17:17 +00:00
Jim Radford
6182ba84cd
LIBOMV-686 Implements new event patterns based on the Microsoft Framework Design Guidelines in InventoryManager (Not every delegate is converted yet)
...
LIBOMV-734 Thanks to Douglas R. Miles for converting the events in EstateManager over to new patterns
LIBOMV-735 Removes redundant LoggedIn event from NetworkManager, when LoginProgress Status == Success you can reliably send packets to a simulator. If you send before this event is raised, an exception will be thrown and your application will crash, previously your request would just get sent to the bitbucket without any notice, Thanks lkalif for the help getting this bug fixed correctly
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3187 52acb1d6-8a22-11de-b505-999d5b087335
2009-10-29 09:39:43 +00:00
Jim Radford
95a87c7857
LIBOMV-686 Convert NetworkManager events/delegates to new patterns
...
* Remove INetworkManager interface (it was not being used for anything)
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3182 52acb1d6-8a22-11de-b505-999d5b087335
2009-10-28 08:01:52 +00:00
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