Commit Graph

44 Commits

Author SHA1 Message Date
Michael Cortez
c80e7b7721 Temporarily giving up on the "correct" solution to get teleport to work, and going with the comment hack (removing a mutex from the NetworkManager to prevent a deadlock.)
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@342 52acb1d6-8a22-11de-b505-999d5b087335
2006-10-19 19:01:42 +00:00
John Hurliman
3238049bc6 * Got rid of SecondLife.CurrentRegion (use SecondLife.Network.CurrentSim.Region instead)
* Initial framework for groups support
* Fixed Logout() issues with freezing or throwing exceptions
* slaccountant small cleanup (still doesn't run under .NET 2.0)

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@338 52acb1d6-8a22-11de-b505-999d5b087335
2006-10-19 08:37:46 +00:00
John Hurliman
1477bcbaa0 Fixed the colon-in-strings bug that was introduced a few commits back
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@328 52acb1d6-8a22-11de-b505-999d5b087335
2006-10-18 07:24:11 +00:00
John Hurliman
f47477c9e0 * Initial support for ObjectUpdateCompressed packets
* Typecast only once in the main ParcelPropertiesHandler block
* Handle the new colons in region and avatar names

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@326 52acb1d6-8a22-11de-b505-999d5b087335
2006-10-18 07:02:24 +00:00
John Hurliman
46ee60f13b General cleanup to remove some of the build warnings, mostly XML comment fixing and making public event handlers private. Also changed the asset uploading function to return the new asset ID instead of the transaction ID
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@321 52acb1d6-8a22-11de-b505-999d5b087335
2006-10-17 09:03:28 +00:00
John Hurliman
d9dc4edd44 * Fixed the ToString() output for packets with byte array fields
* Implemented and tested the OnBalanceUpdated event
* Created a SendInitialPackets() function and commented our current knowledge of the login packets
* CurrentRegion.Handle is now set at login
* Moved the README.Mono file to README.txt and added a bit more information
* Fixed the sldump example to use the 1,50,50,50 version number
* Generated an updated _Packets_.cs file

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@319 52acb1d6-8a22-11de-b505-999d5b087335
2006-10-17 08:21:37 +00:00
John Hurliman
62816c177c Removed the appended ack logging spam
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@307 52acb1d6-8a22-11de-b505-999d5b087335
2006-10-16 07:23:10 +00:00
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