Commit Graph

37 Commits

Author SHA1 Message Date
John Hurliman
b01ad186b2 Fixed the naming scheme of some of the delegates to be uniform with the rest of the code
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@284 52acb1d6-8a22-11de-b505-999d5b087335
2006-10-15 23:54:14 +00:00
bushing
2c9080561c It's Party Time\! (r213:HEAD)
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@279 52acb1d6-8a22-11de-b505-999d5b087335
2006-10-14 05:13:39 +00:00
John Hurliman
577f4f6c1a Upgrading all the project files, updating keywords.txt/message_template.msg, removing unused files
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@231 52acb1d6-8a22-11de-b505-999d5b087335
2006-09-30 00:19:01 +00:00
John Hurliman
d0cfb94d4f The initial unit test framework, and lots of safety checks and cleanup in NetworkManager
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@207 52acb1d6-8a22-11de-b505-999d5b087335
2006-09-19 07:34:45 +00:00
John Hurliman
6c36691321 * Added a SendPacket() that takes a raw payload
* Added DisconnectSim() to kill the connection to a sim and clean up socket and SimulatorsList
* Fixed the Simulator.Initialize timeout
* Only update Packet.TickCount if it's a reliable packet
* Shutdown a simulator on a SocketException

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@203 52acb1d6-8a22-11de-b505-999d5b087335
2006-09-19 01:26:03 +00:00
John Hurliman
f08e7191dc NetworkManager:
* OnSimDisconnected and OnDisconnected events added
* The Disconnect function is working
* Shutdown() was added to kill the network layer
* Added documentation for the Packet class
* Added a TickCount to Packet for tracking ACK timeouts
* Added a LastReceivedTime to Simulator for tracking disconnects
* Optimized the NeedAck hashtable
* Fixed a potential deadlock during Logout and removed a dodgy goto statement
* Removed the try/catch from Logout to catch bugs
* Added a not-logged-in catch in Logout
* Removed the 1-second sleep from Logout
* Connect returns the connected Simulator object or null now

ObjectManager:
* OnAvatarMoved and OnPrimMoved events are fired now

Prims:
* Minor function clarifications

Avatar:
* Uses the new Connect function for teleporting

Packet:
* Added documentation
* HeaderLength is private now
* Removed the Field() function
* Miscellaneous cleanups

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@195 52acb1d6-8a22-11de-b505-999d5b087335
2006-09-17 03:03:31 +00:00
John Hurliman
bf19f1bc2a * Fixed SecondLife.GetAgentDetails to prevent it from registering multiple callbacks
* Added code documentation skeletons in SecondLife.cs
* Removed Helpers.Log and replaced it with SecondLife.Log that is silent if SecondLife.Debug = false;
* Removed logging from ProtocolManager.cs where an exception was also being thrown
* Replaced logging in the FieldToString method with a sensible return value on error
* Replaced Packet.Blocks() logging with an ugly hack for now
* Replaced most logging with exception throwing to prevent broken apps from breaking further
* Formatting fixes for some of the files

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@173 52acb1d6-8a22-11de-b505-999d5b087335
2006-09-07 03:39:23 +00:00
John Hurliman
3f4ee5f514 Fixed a deadlock bug with InboxMutex
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@171 52acb1d6-8a22-11de-b505-999d5b087335
2006-09-06 20:24:12 +00:00
John Hurliman
cf22407674 Removed the Circuit class and replaced it with the Simulator class
* Region information is linked to simulators and track per sim
* Region information can be gleaned in callbacks now
* Parcel overlay handling is also done per sim
* Packets should be sent to the proper sim now
* Zerodecoding and appended ACK handling hopefully play nicely together
* Login timeout has been simplified, Simulator uses no timers
* Disconnect (from a sim) is currently broken at the NetworkManager level
* Periodic ACK sending and ACK appending is currently disabled

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@90 52acb1d6-8a22-11de-b505-999d5b087335
2006-07-26 05:34:48 +00:00
John Hurliman
28032f80e5 Added Adam's parcel overlay parsing functions and a few bugfixes to parcel overlay parsing
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@71 52acb1d6-8a22-11de-b505-999d5b087335
2006-07-23 05:43:33 +00:00
John Hurliman
454667daf2 Committed Adam's friend online/offline notification patch
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@69 52acb1d6-8a22-11de-b505-999d5b087335
2006-07-21 22:24:36 +00:00
John Hurliman
298a866428 * Checks for PacketAck first when decoding low priority packets, huge speed gain
* Network system uses eight revolving buffers instead of just one
* Bugfix to correctly parse appended ACKs
* ACKs are no longer queued, they are sent out whenever one is ready to send

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@67 52acb1d6-8a22-11de-b505-999d5b087335
2006-07-19 09:00:59 +00:00
John Hurliman
5cf09cbe75 Fixed a bug checking for appended ACKs
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@66 52acb1d6-8a22-11de-b505-999d5b087335
2006-07-19 02:16:30 +00:00
John Hurliman
c05de6c98a * (Region)Handle is now set for the first logged in region
* Some updates to PrimObject to get ready for object importing and moving

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@61 52acb1d6-8a22-11de-b505-999d5b087335
2006-07-16 22:17:13 +00:00
John Hurliman
323dd3f192 * NetworkManager and circuit optimizations, should receive less resent packets now
* Attempted to add support for ConfirmEnableSimulator, failed, commented it out
* Optimized the callback system

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@59 52acb1d6-8a22-11de-b505-999d5b087335
2006-07-14 20:36:04 +00:00
John Hurliman
0b101e6157 Syncing my source tree to svn
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@54 52acb1d6-8a22-11de-b505-999d5b087335
2006-07-13 03:49:40 +00:00
John Hurliman
6f5afe3eba * New callback registration system, updated the library and examples to reflect changes
* Fixes in BuildPacket for typecasting
* 255 character limit fix in BuildPacket

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@48 52acb1d6-8a22-11de-b505-999d5b087335
2006-07-11 18:42:58 +00:00
John Hurliman
56e55a0798 * Moved packet helpers in to a separate directory, a separate namespace, and separate categories. Updated the rest of the library and name2key to reflect the changes
* Added Inventory class skeleton
* Added UpdateInventoryItem packet helper
* Removed CRC proof of concept from sldump
* Numerous miscellaneous updates (sorry!)

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@46 52acb1d6-8a22-11de-b505-999d5b087335
2006-07-09 22:18:58 +00:00
John Hurliman
06b943078a * Helper function to convert byte arrays to strings
* DirFindQuery helper added
* name2key updated to use the new DirFindQuery

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@44 52acb1d6-8a22-11de-b505-999d5b087335
2006-07-08 01:38:36 +00:00
John Hurliman
26ba4f0a91 * Fixed a typo in the ImprovedInstantMessage handler
* Added packet helpers for FetchInventoryDescendents and RequestInventoryAsset
* Added a fourth parameter to BuildPacket(); byte flags, allowing the flags to be set for a packet during construction
* Modified all the packet helper routines and slaccountant to use the new BuildPacket() routine

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@43 52acb1d6-8a22-11de-b505-999d5b087335
2006-07-07 22:44:28 +00:00
John Hurliman
cfad42b0b7 * Applied most of the big endian patch (still need to look at floating point and 64-bit integers)
* Replaced hard-coded packet construction with BuildPacket helper methods

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@41 52acb1d6-8a22-11de-b505-999d5b087335
2006-07-05 19:48:53 +00:00
John Hurliman
0ec1e04999 Fixed a couple of bugs with the JSON parsing (handling negative and zero numbers as well as missing fields)
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@40 52acb1d6-8a22-11de-b505-999d5b087335
2006-07-01 06:33:07 +00:00
John Hurliman
b4accdddfc * Added JSON library to parse LLSD fields in the login reply
* Added fields in Avatar to hold the parsed data from login
* CoarseLocationUpdate packets handled internally
* Added Network.LoginValues hashtable, removed second parameter from .Login()
* Updated examples to reflect LoginValues / Login() change

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@39 52acb1d6-8a22-11de-b505-999d5b087335
2006-07-01 03:42:53 +00:00
John Hurliman
e700b207d1 Added chat and IM functionality
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@34 52acb1d6-8a22-11de-b505-999d5b087335
2006-06-27 04:36:53 +00:00
John Hurliman
1a74510ac9 * Added Region class to track region information
* Parcel overlays are tracked per region
* New sim connections reuse the original circuit code
* Teleporting is functional

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@32 52acb1d6-8a22-11de-b505-999d5b087335
2006-06-21 07:39:08 +00:00
John Hurliman
8dfb2970fa * Agent ID is stored in MainAvatar as well now
* FirstName and LastName are stored in MainAvatar at login
* Fixed a BuildPacket bug where it tried to typecast a string to a byte[]

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@31 52acb1d6-8a22-11de-b505-999d5b087335
2006-06-17 05:22:28 +00:00
John Hurliman
0c65934080 * Upped the login timeout from 8 seconds to 15
* BuildPacket is complete, currently using it for CompleteAgentMovement

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@30 52acb1d6-8a22-11de-b505-999d5b087335
2006-06-17 02:18:30 +00:00
John Hurliman
4a9007b2d6 * Exception on logout should be fixed, still need more testing with multiple sim connections
* BuildPacket progress
* New LLUUID functions to generate random UUIDs

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@29 52acb1d6-8a22-11de-b505-999d5b087335
2006-06-16 22:11:20 +00:00
John Hurliman
bd6b891245 Better incoming packet tracking for debugging and to avoid firing callbacks twice
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@28 52acb1d6-8a22-11de-b505-999d5b087335
2006-06-15 23:55:00 +00:00
John Hurliman
8c93fea4a2 * Appended ACKs no longer overwrite packet data
* Basic teleporting support
* Fixed LLUUID comparison operators
* Added packet flags and sequence number output to sldump

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@27 52acb1d6-8a22-11de-b505-999d5b087335
2006-06-15 21:42:41 +00:00
John Hurliman
1f322a770a Cleanup after the xml-rpc change, updated example programs
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@26 52acb1d6-8a22-11de-b505-999d5b087335
2006-06-14 20:58:17 +00:00
John Hurliman
82161a8518 * Using XmlRpcCS for login now
* Properly handle the Fixed field type in Packet.Blocks()

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@25 52acb1d6-8a22-11de-b505-999d5b087335
2006-06-14 20:50:09 +00:00
John Hurliman
a8ce4b327f * Added ProtocolManager.DecodeMapFile()
* Parcel and ParcelManager high-level classes
* Avatar high-level class

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@23 52acb1d6-8a22-11de-b505-999d5b087335
2006-06-14 18:27:19 +00:00
John Hurliman
9c32a490a0 * Internal callback mechanism, user callback hashtable is now UserCallbacks
* Moved some of the packet receiving logic in to internal callbacks
* Fixed HORRIBLE threading race condition with Circuit.Buffer[]

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@22 52acb1d6-8a22-11de-b505-999d5b087335
2006-06-13 07:15:38 +00:00
John Hurliman
a25be7e467 * Added name2key example program
* Basic Logout() function
* Proper functions for halting and closing Circuits
* Infinite bugfixes
* Threw a cert file in the bin directory in case anyone wants to make the SSL auth work properly

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@21 52acb1d6-8a22-11de-b505-999d5b087335
2006-06-12 01:47:53 +00:00
John Hurliman
b186f0312b Circuits should be functional enough for general use now. Some of the highlights include:
* Thread synchronization, mutexes on all shared lists
* Tracks outgoing reliable packets and incoming ACKs (PacketAcks and appended ACKs)
* Can send independent PacketAck datagrams or append ACKs to outgoing packets
* Simplified the Packet class to use a byte[] array for data instead of an ArrayList. Now requires a packet length during initialization

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@20 52acb1d6-8a22-11de-b505-999d5b087335
2006-06-10 20:11:21 +00:00
John Hurliman
f31d44be06 Initial import of the C# fork
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@19 52acb1d6-8a22-11de-b505-999d5b087335
2006-06-08 14:49:17 +00:00