Commit Graph

46 Commits

Author SHA1 Message Date
Latif Khalifa
024c4b151d Proper implementation of messages related to RemoteParcelRequest capability
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2926 52acb1d6-8a22-11de-b505-999d5b087335
2009-06-27 23:07:04 +00:00
Latif Khalifa
d02eb9027e LIBOMV-607: Implement ability to get remote parcel ID's
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2911 52acb1d6-8a22-11de-b505-999d5b087335
2009-06-26 06:51:41 +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
John Hurliman
c5409af63f * [LIBOMV-506] Complete rewrite of CapsBase to use HttpWebRequest instead of our homebrewed WebRequest hack. We lose the upload progress callback but gain IOCP thread instead of System.Thread usage and Keep-Alive support
* Content-Types described in http://tools.ietf.org/html/draft-hamrick-llsd-00 are used for CAPS requests. This *may* be incompatible with the current SL grid, needs testing
* Modified CapsClient requests to require OSDFormat enum and timeout values

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2680 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-01 06:04:32 +00:00
Jim Radford
2ad91ceeb6 LIBOMV-477 Adds 3 known variants of ChatSessionRequestMessage to Message System
Adds a little documentation, and some naming cleanup


git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2660 52acb1d6-8a22-11de-b505-999d5b087335
2009-04-25 01:54:52 +00:00
Jim Radford
a9258c3cdc LIBOMV-477 Some minor fixes to messaging system, and some test updates to fix TeamCity Test Failure.
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2652 52acb1d6-8a22-11de-b505-999d5b087335
2009-04-24 04:39:44 +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
John Hurliman
f918d41133 * Disable WinGridProxy filters until the proxy is running
* Rename CapsClient.StartRequest() to CapsClient.BeginGetResponse() to match HttpWebRequest
* Adding the blocking method CapsClient.GetResponse()

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2611 52acb1d6-8a22-11de-b505-999d5b087335
2009-04-16 16:25:47 +00:00
Jim Radford
8d029fa3d5 LIBOMV-477 Fix a bug deserializing AgentGroupDataUpdateMessage, LL sends the AgentID in an Array
* Converted URLs in Parcel Properties messages back to string (having them as Uri's did not work for null/empty URLS)

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2602 52acb1d6-8a22-11de-b505-999d5b087335
2009-04-14 05:32:20 +00:00
Jim Radford
afe715a30f LIBOMV-477 Adds several capabilities message classes
* Some cleanup of LindenMessages.cs class
* Tests for all messages encode/decode are implemented and included

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2601 52acb1d6-8a22-11de-b505-999d5b087335
2009-04-14 04:47:55 +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
62bb22000c * LIBOMV-477 Switches ParcelPropertiesReply to use new Messaging system
* Switches PrimOwnersReply to use new Messaging system
Corrects several minor decoding/encoding issues with new Message system.

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2590 52acb1d6-8a22-11de-b505-999d5b087335
2009-04-10 21:34:59 +00:00
John Hurliman
f48c9922e9 * Added OpenMetaverse.Messages.Linden and OpenMetaverse.Messages.Simian namespaces to hold LLSD serialized messages. The dawn of a new era for libomv!
* Changing LLSD JSON serialization to match the draft at http://tools.ietf.org/html/draft-hamrick-llsd-00 (first breaking change since 0.6.0)
* Moving some enums out to OpenMetaverseTypes.dll
* Adding conversion methods to go to and from the newly moved enums
* Moved Parcel enums out to the main namespace

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2588 52acb1d6-8a22-11de-b505-999d5b087335
2009-04-09 01:17:40 +00:00
John Hurliman
3ad7551a4a * Added Utils.EmptyBytes which is equal to new byte[0] and replaced all references of new byte[0] to Utils.EmptyBytes
* Added a CRC32 implementation to OpenMetaverseTypes.dll
* Added ToBytes() functions to most of the OMV types for writing bytes into an existing byte array

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2470 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-06 01:32:02 +00:00
Robin Cornelius
51a2768e90 Opensim does not yet send the MediaData section of ParcelProperties via LLSD, so make that block optional for compatability reasons.
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2450 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-21 09:54:19 +00:00
Jim Radford
7a5e63dbab LIBOMV-441 ParcelManager Update() method will now use capability if it exists on the simulator and fallback to the udp method if no capability exists.
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2419 52acb1d6-8a22-11de-b505-999d5b087335
2009-01-27 23:06:31 +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
Jim Radford
c768eef6cc Removing Serializable attribute from ParcelInfo struct (was accidentally comitted previously and is unnnecessary)
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2368 52acb1d6-8a22-11de-b505-999d5b087335
2008-12-01 21:18:34 +00:00
Jim Radford
f9701dcbd7 Adds check/warning for GetParcelLocalID method if ParcelMap/Dictionary has not been previously populated
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2367 52acb1d6-8a22-11de-b505-999d5b087335
2008-12-01 21:13:24 +00:00
John Hurliman
aede2ea203 * Adding Packet.BuildPacket() function back, OpenSim uses it
* Converted ParcelAccessEntry.Flags to AccessList enum

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2359 52acb1d6-8a22-11de-b505-999d5b087335
2008-11-17 20:29:13 +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
Jim Radford
21abeaec88 LIBOMV-398 Better yet, splits out AccessList into two lists, a WhiteList and a Blacklist in the Parcel object. This works much better for storing this information in our internal dictionaries and makes it less obscure for end library users to understand.
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2302 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-18 23:53:30 +00:00
Jim Radford
b59ce0c443 LIBOMV-398 Adds back individual ACL Entry specific flags field which is likely used for expiring bans
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2301 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-18 22:46:49 +00:00
Jim Radford
7cfab9b2a7 LIBOMV-398 Corrects incoming flag field on ParcelAccessListReply packet, Thanks MichelleZ
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2300 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-18 22:36:09 +00:00
bec96bc6a4 Fixed some param names in function documentation for ParcelManager.cs and UtilsConversions.cs
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2273 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-07 13:20:35 +00:00
John Hurliman
3e5fcb7fab * Moving conversion functions from Helpers to Utils (in OpenMetaverseTypes)
* Added GetLLSD() and FromLLSD() to Permissions
* Started on inventory persistence for Simian

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2267 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-06 22:34:38 +00:00
Jim Radford
09a0404860 LIBOMV-392 Adds sanity check to ParcelPrimOwnersReply packet, fires event with null values to mimic the behavior of the viewer
* removed extraneous debug message in ObjectManager when CreateSelected is flagged on prims

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2260 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-06 01:12:05 +00:00
Jim Radford
3fec38736b LIBOMV-392 * Switches ParcelObjectOwnersListReply packet to be directly handled instead of using our generic serializer. This was required do to an additional datablock/field being sent over CAPS which was not part of the original UDP packet
* Removed previously replaced handler for ParcelProperties that was switched over to CAPS months ago.

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2259 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-06 00:38:50 +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
640ccaf2ee Added Parcel.LandingType enum, changed Parcel.LandingType to Parcel.Landing
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2231 52acb1d6-8a22-11de-b505-999d5b087335
2008-09-22 08:49:34 +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
Jim Radford
78ef0621c9 LIBOMV-362 Adds some sanity checking and better logic to internal Parcel Dictionaries to prevent overloading the outbound packet queue with unnecessary requests.
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2199 52acb1d6-8a22-11de-b505-999d5b087335
2008-09-06 10:19:46 +00:00
John Hurliman
07754f7016 OpenMetaverse:
* LLObject is gone, it is now merged into Primitive
* Avatar inherits from Primitive
Simian:
* Added SimulationObject to track prims
* Added IMeshingProvider and a connector to OpenMetaverse.Rendering plugins

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2161 52acb1d6-8a22-11de-b505-999d5b087335
2008-08-24 05:06:51 +00:00
John Hurliman
175324af21 * Disabling the object pool while we debug various issues
* Fixing a race condition in PrimWorkshop
* Fixing a race condition in ParcelManager

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2154 52acb1d6-8a22-11de-b505-999d5b087335
2008-08-22 02:39:46 +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
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
24471fe5fa * Converting packet sequence number incrementing from the unsafe lock{} mechanism to the Interlocked class
* Tiny speed optimizations in packet handling

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2018 52acb1d6-8a22-11de-b505-999d5b087335
2008-07-29 16:52:44 +00:00
John Hurliman
e294f47afd * Basic types renaming continued
* Corrected ManagedImage.ExportRaw() function to flip the image (OpenGL has a texture origin in the bottom-left)

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2015 52acb1d6-8a22-11de-b505-999d5b087335
2008-07-28 22:23:48 +00:00
Jim Radford
7a7039e261 LIBOMV-327 Applying Patch from Gonta Maltz which implements the ability to deselect multiple objects in ObjectManager
* Fix Comment Typo in ParcelManager

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2005 52acb1d6-8a22-11de-b505-999d5b087335
2008-07-26 09:18:52 +00:00
Jim Radford
8247736600 LIBOMV-325 Adds Handler for ParcelMediaUpdate packet
* Adds struct in ParcelManager for ParcelMedia information
* Updates Parcel struct to use new ParcelMedia struct
* Documents Events in ParcelManager
* Adds Namespace information for the OpenMetaverse.Rendering Classes in the Helpfile Builder
* Fixes a typo and some inline documentation in GroupManager

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2004 52acb1d6-8a22-11de-b505-999d5b087335
2008-07-26 08:50:37 +00:00
Jim Radford
8802153778 * Fix SelectObjects method in ParcelManager to work
* Adds additional inline comments to GroupManager

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1999 52acb1d6-8a22-11de-b505-999d5b087335
2008-07-25 06:01:25 +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
Jim Radford
935c1beb24 LIBOMV-273 Adds Missing Event to SelectParcelObjectsReply packet handler. which would cause the OnParcelSelectedObjects event to not be fired on response data.
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@1988 52acb1d6-8a22-11de-b505-999d5b087335
2008-07-24 18:48:37 +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