Commit Graph

37 Commits

Author SHA1 Message Date
Jim Radford
7baa3ffb04 Applies patch from Tomarus, Mantis #207 corrects Simulator Stats types.
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1715 52acb1d6-8a22-11de-b505-999d5b087335
2008-04-07 16:55:46 +00:00
Jim Radford
6135b0c748 Cleanup patches from DrScofield, cleans up inline code comments and LLUUID Comparison against null. Mantis#138
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1656 52acb1d6-8a22-11de-b505-999d5b087335
2008-03-06 05:57:16 +00:00
Jim Radford
7bfe59c28d Applies patch from Issue #125 from Teravus - fixes SimStats
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1629 52acb1d6-8a22-11de-b505-999d5b087335
2008-02-03 03:51:04 +00:00
John Hurliman
ebae8ecb6e Committing patch #86 from jradford that handles moving in to a neighboring sim when you walk in to it, and I added on the OnRegionCrossed callback for this event
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1570 52acb1d6-8a22-11de-b505-999d5b087335
2007-12-29 22:34:11 +00:00
John Hurliman
e1f4aea003 Fixed a bug where the simulator disconnect timer was being prematurely initialized at login
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1533 52acb1d6-8a22-11de-b505-999d5b087335
2007-12-20 02:43:13 +00:00
John Hurliman
1993ae0ce7 * Enabled the UDPPacketBuffer object pool, please report any changes in network performance
* Fixed a bug in BuildPacket() that would affect UDPPacketBuffer objects if they are being reused
* Lowered the Dequeue wait time in PacketHandler() to speed up logouts
* Optimized Simulator.ToString()

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1528 52acb1d6-8a22-11de-b505-999d5b087335
2007-12-19 20:53:08 +00:00
John Hurliman
3c3285f7f5 * Removed a double lock on network shutdown and properly shut down the blocking queue
* Added LLQuaternion.SetQuaternion() functions and fixed the quaternion multiplication
* Updated importprimscript to an enum name change

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1524 52acb1d6-8a22-11de-b505-999d5b087335
2007-12-19 01:11:16 +00:00
John Hurliman
a61f2bc8ef Removed the CAPS header mess, fixed a recently introduced bug that was suppressing synthesized CAPS packets
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1521 52acb1d6-8a22-11de-b505-999d5b087335
2007-12-08 20:15:30 +00:00
John Hurliman
b1b3d30aca Removed all usage of Timeout.Infinite, timers are now initialized when started and disposed when stopped to closer match the MSDN example
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1519 52acb1d6-8a22-11de-b505-999d5b087335
2007-12-06 02:07:26 +00:00
John Hurliman
037b7b0aed Initial check-in of the new CAPS rewrite. Current issues:
* Original CapsEventQueue is still being used until a bug in the new one can be resolved
* New progress callbacks are not being utilized (yet)
* Listener classes (CapsListener and EventQueueListener) are only stubs right now

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1518 52acb1d6-8a22-11de-b505-999d5b087335
2007-12-06 00:58:28 +00:00
phaik
16c711e610 Whiskey and patch friday, thanks to Thoys, Prometheus, Tleides, Dahlia and Ahzzmandi.
Covers issues 498, 499, 504, 570, 572

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1485 52acb1d6-8a22-11de-b505-999d5b087335
2007-11-10 03:21:32 +00:00
John Hurliman
3013742668 * Increased SIMULATOR_TIMEOUT to 30 seconds
* Converted all timers to System.Threading timers to fix problems running in services and the CF
* UDPBase now uses our own ReaderWriterLock that is more efficient, and CF compatible
* Login uses a hand-created LoginProxy object instead of dynamically building the class with reflection .Emit()
* Replaced ParameterizedThreadStart calls with class-wide variables for CF compat.
* Removed transfer timeout code (irrelevant now that uploads go through CAPS)
* Added several new Helpers methods to wrap desktop and CF conditional code
* Replaced Monitor calls with AutoResetEvent in BlockingQueue
* InventoryNodeDictionary uses generics now
* Removed final lingering piece of XML serialization
* Added CookComputing.XmlRpc.CF.dll for the CF

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1479 52acb1d6-8a22-11de-b505-999d5b087335
2007-11-06 09:26:10 +00:00
John Hurliman
62dddabd7c * Transfer timeout support for uploads. This code will be deprecated soon though as CAPS uploading is almost finished
* More parameters to HTTPBase and Capabilities for making special requests
* Renamed InventoryManager callbacks to match the rest of libsecondlife
* Several new InventoryManager functions, not complete yet!
* Fix for null buddy list on login
* OnSimConnecting returns a bool to allow canceling sim connections
* NetworkManager.Connect() properly returns null on a failure

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1393 52acb1d6-8a22-11de-b505-999d5b087335
2007-09-10 10:20:30 +00:00
John Hurliman
975637b2a1 * Switched LLObject to using the Permissions struct
* Added CoordinateFrame class for camera management
* Added NetworkManager.OnSimConnecting that blocks before connecting to a new sim
* CurrentSim no longer goes null in between teleports
* Applied jradford's patch to fix the DeedObject patch
* UDP socket Bind() is used instead of Connect() now and sender verification is done in PacketReceived() to fix an apparent compatibility problem
* Added Helpers.VecCross() for vector cross products
* TextureEntryFace and TextureEntry now implement ICloneable

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1384 52acb1d6-8a22-11de-b505-999d5b087335
2007-09-01 07:52:55 +00:00
John Hurliman
47f8a88162 * Moved all simulator statistic information to a new struct at Simulator.Stats
* Added per-sim avatar and prim tracking through Simulator.Objects, use Settings.ALWAYS_DECODE_OBJECTS = true to enable
* Handle DisconnectSim packet and don't send CloseCircuit packets on sim-triggered disconnects
* Interpolation timer now does angular velocity and linear movement interpolation for all objects in the object tracker(s)

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1363 52acb1d6-8a22-11de-b505-999d5b087335
2007-08-20 09:26:21 +00:00
John Hurliman
50adfa5675 * Added Capabilities.CapsReceivedEvent that signals after the initial CAPS connection is made
* Complete rewrite of event handling for packets and CAPS events
 - No more nested generic collections for events
 - No more for loops for every packet callback
 - CAPS event handlers by event name
 - Asynchronous CAPS event handlers
 - Unregistering of CAPS events
* Added a stub SoundManager
* Increased packet buffer size to 2048 after I got an exception about it being too small
* Continued work on VoiceManager

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1347 52acb1d6-8a22-11de-b505-999d5b087335
2007-08-04 14:31:31 +00:00
John Hurliman
fa9b7830a3 * Added the beginnings of VoiceManager to libsecondlife.Utilities
* Added VoiceTest to test VoiceManager. For now you will have to manually run the voice daemon (shipped with Second Life) each time

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1345 52acb1d6-8a22-11de-b505-999d5b087335
2007-08-03 07:07:49 +00:00
John Hurliman
a8567851d6 * Added HttpBase that serves as the foundation for the new CAPS system
* Rewrote CAPS to use HttpBase, connections now have 30 second timeouts and automatic retrying
* Implemented the static logging function in SecondLife
* Fixed a crash in the GotoLandmark command
* Removed some debug logging from FriendsManager
* Fixed an exception in libsecondlife.Utilities.GetWaterType()

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1340 52acb1d6-8a22-11de-b505-999d5b087335
2007-08-01 13:44:27 +00:00
Latif Khalifa
f462f44d23 *BREAKING CHANGES* Merging jhurliman branch with the trunk. The old AssetManager, ImageManager, and InventoryManager systems have been phased out and replaced by the new AssetManager and InventoryManager classes. The lowest network layer has been abstracted out and replaced, new networking callbacks added, and many small bugfixes made. AppearanceManager.Wear* commands have been commented out until they are ported to the new inventory system
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1296 52acb1d6-8a22-11de-b505-999d5b087335
2007-07-13 14:49:36 +00:00
John Hurliman
0dc600e83b Merging aditi 1213-1274 in to the trunk, preparing for 1.18 release
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1286 52acb1d6-8a22-11de-b505-999d5b087335
2007-07-11 16:17:06 +00:00
0101cd5ffb * Added FriendManager.cs
* Added Client.Friends.RequestFriendship(targetID) and .RemoveFriend(targetID)
* Updated all existing 2006 copyrights to 2006-2007

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1207 52acb1d6-8a22-11de-b505-999d5b087335
2007-05-28 17:22:14 +00:00
jef
7f7ea583b2 Decoding of simstats. Can be disable via Settings.ENABLE_SIMSTATS
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1182 52acb1d6-8a22-11de-b505-999d5b087335
2007-05-12 00:10:33 +00:00
John Hurliman
3803382244 Exceptions thrown by callbacks now log full stack traces, resolving issue 94
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1173 52acb1d6-8a22-11de-b505-999d5b087335
2007-05-03 14:24:10 +00:00
jef
3a1a12e604 *yoink*
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1170 52acb1d6-8a22-11de-b505-999d5b087335
2007-05-03 00:16:39 +00:00
baned
71a36d3067 * Added a concept of a SecondUniverse that will be able to contain and manage resources that can be common between SecondLife clients in the same process
* Currently only does it's own PacketInbox processing, instead of depending on a packet processing thread in each client. Should probably be an option to do that or not, assuming anyone uses this or wants it and doesn't just revert it. kthxbai


git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1169 52acb1d6-8a22-11de-b505-999d5b087335
2007-05-02 23:58:32 +00:00
baned
6aafd90210 * OnActiveGroupChanged() event added to Self
* SYNC_PACKETCALLBACKS is no longer a const setting, allowing it to be changed by library users in their own code (like me)


git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1156 52acb1d6-8a22-11de-b505-999d5b087335
2007-04-27 23:47:45 +00:00
baned
0325f276cc * Login changes to not have async issues on retries/timeouts (Slight interface changes)
* Settings.SYNC_PACKETCALLBACKS. Packet processing is now synchronous by default.
* XML Parsing fix

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1149 52acb1d6-8a22-11de-b505-999d5b087335
2007-04-27 00:21:40 +00:00
John Hurliman
f5b7f702f3 * Settings.ENABLE_CAPS = false; will disable any connection attempts to CAPS servers
* Added Utilities.ParcelDownloader.GetHeightRange() and Utilities.ParcelDownloader.GetRectangularDeviation() for gathering parcel statistics
* Added more output to ParcelInfoCommand

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1134 52acb1d6-8a22-11de-b505-999d5b087335
2007-04-19 02:59:35 +00:00
John Hurliman
b65a4dcbe3 * Set KeepAlive to false for logins so logins after the first won't break
* Set Expect100Continue to false to prevent an unnecessary handshake in HTTP POST exchanges

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1131 52acb1d6-8a22-11de-b505-999d5b087335
2007-04-18 04:17:07 +00:00
John Hurliman
510d72e324 Exceptions in packet callbacks are now logged (this was broke when we converted to the ManagedThreadPool)
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1130 52acb1d6-8a22-11de-b505-999d5b087335
2007-04-18 01:31:35 +00:00
John Hurliman
48f7aa5d0f * Attempted fix for issue 87, login redirects failing (new parameters were added)
* Added Caps.IsEventQueueRunning
* Teleports now fail immediately unless the event queue is running
* All Array.Copy calls have been changed to Buffer.BlockCopy
* Improved the GotoCommand, synchronous teleports are used and better feedback is given

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1124 52acb1d6-8a22-11de-b505-999d5b087335
2007-04-15 07:37:53 +00:00
John Hurliman
f44c012f60 * Client.Self.Position now does acceleration/velocity interpolation
* Added LLVector3 * float operator
* Adding Oven.cs to Baker (will be moved in to libsecondlife later) that does the first baby steps of baking
* Added the missing Helpers.GetResourceStream() function
* Changed readonly Settings values to const


git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1110 52acb1d6-8a22-11de-b505-999d5b087335
2007-04-09 08:03:12 +00:00
John Hurliman
fabdeabf10 * AgentUpdate packets are now complete with the additional enums AgentFlags and AgentState. AgentUpdateFlags has been renamed to ControlFlags
* Fixed a bug where the blocking queue was holding up logouts for up to 15 seconds
* Client.Self is now updated by terse update messages along with full object updates
* Parcel.Update() now takes a bool specifying if we want a confirmation Packet
* An optimization has been added to MainAvatarStatus to prevent duplicate AgentUpdate packets from being sent out. If the avatar is staying idle it will use a lot less bandwidth now
* Default camera distance is now 384 so we see the entire sim

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1107 52acb1d6-8a22-11de-b505-999d5b087335
2007-04-06 21:02:20 +00:00
John Hurliman
81472d88f4 * Incoming packets are put on a queue instead of processing immediately
* Two new classes added, a ManagedThreadPool that is a performance enhanced ThreadPool, and BlockingQueue which is a thread-safe queue that allows one end to block until something is added to the queue
* Added Simulator.ReceivedResends for tracking the number of resent packets received
* Added StatsCommand to TestClient to print out basic networking stats

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1101 52acb1d6-8a22-11de-b505-999d5b087335
2007-04-03 05:47:09 +00:00
John Hurliman
77a9c8bd23 * XmlRpcCS has been replaced with custom XML handling, all login code has been moved to Login.cs
* XmlRpcCS moved to SLProxy folder, since SLProxy still relies on it
* Client.Network.LoginError is now obsolete, replaced by Client.Network.LoginErrorKey and Client.Network.LoginMessage
* Client.Self now has StartLocation and AgentAccess strings after a successful Login
* Removed the null LLUUID check in _Packets_.cs since LLUUID will be a struct soon
* Fixed directories in mapgen.bat
* AgentThrottle class lives in AgentThrottle.cs now

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1097 52acb1d6-8a22-11de-b505-999d5b087335
2007-04-02 04:37:15 +00:00
John Hurliman
25438f1c85 * Implemented basic parser for the terse LLSD format used during Login
* Added a unit test for the new parser
* Removed JSON dependency in favor of the new terse LLSD parser
* Updated NAnt build files to remove JSON reference and point to libsecondlife (instead of libsecondlife-cs)

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1086 52acb1d6-8a22-11de-b505-999d5b087335
2007-03-30 14:14:35 +00:00
John Hurliman
1cb7f4c253 Huge svn cleanup!
* libsecondlife-cs is now libsecondlife
* All applications that are staying have been moved to trunk/
* SLProxy loads Analyst plugin by default if no other plugin is specified on the command line

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1068 52acb1d6-8a22-11de-b505-999d5b087335
2007-03-26 23:12:39 +00:00