Commit Graph

60 Commits

Author SHA1 Message Date
Latif Khalifa
83879260cc LIBOMV-823: First "single packet" asset upload blocks all subsequent asset uploads
Patch by Kurt Schlager

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3314 52acb1d6-8a22-11de-b505-999d5b087335
2010-05-05 05:48:57 +00:00
Latif Khalifa
3bb3630a36 Converted AssetManager to the new event model.
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3286 52acb1d6-8a22-11de-b505-999d5b087335
2010-03-17 14:00:36 +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
17468b5f76 LIBOMV-686 Implements new event patterns based on the Microsoft Framework Design Guidelines in ObjectManager
LIBOMV-726 Adds stubs in LindenMessages for new WebFetchInventoryDescendents Capability

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3175 52acb1d6-8a22-11de-b505-999d5b087335
2009-10-26 06:03:26 +00:00
Jim Radford
85600c973e Minor update to RequestImage documentation to clarify DiscardLevel and Priority arguments.
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3116 52acb1d6-8a22-11de-b505-999d5b087335
2009-09-30 23:15:15 +00:00
Latif Khalifa
95be84a50a LIBOMV-685 : Unblock downloads sooner when packets arrive out of order
Signal when header is received
Use ManualResetEvent instead of Auto since once signaled we never need to wait for the same header again

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3105 52acb1d6-8a22-11de-b505-999d5b087335
2009-08-24 21:49:33 +00:00
Latif Khalifa
8b7570e314 * Always call RequestFetchInventory after successful inventory uploads
in order to keep Store synced. This removes .NET 3.5 specific dependency.
* BakeIndexToTextureIndex is now read-only, and specified size
  (hopefully this will keep it updated should number of bakes change)
* Missing doc param in AssetManager


git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3092 52acb1d6-8a22-11de-b505-999d5b087335
2009-08-19 07:25:30 +00:00
Latif Khalifa
cb58fed531 Tweak timing of uploads some more:
* Try uploading bake twice with 90 sec timeout
  instead of once with 180 sec timeout
(Produces more reliable results in testing with
some packet loss + high latency)

* Catch exception thrown when upload fails to start
in the correct place.

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3085 52acb1d6-8a22-11de-b505-999d5b087335
2009-08-15 12:28:59 +00:00
Latif Khalifa
1082b97aeb * Increase Settings.TRANSFER_TIMEOUT to 3 min (yes it can take that long on higher latency link since we are waiting for ack before sending each new packet),
* Make TRANSFER_TIMEOUT non-cost
* Add more logging to ApperanceManger

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3082 52acb1d6-8a22-11de-b505-999d5b087335
2009-08-15 02:24:16 +00:00
Latif Khalifa
66319e5597 * Use MAX_CONCURRENT_UPLOADS constant
* Catch exceptions from baker and asset manager in CreateBake()
* Increase timeouts so appearance setting on higher latency links is more reliable

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3081 52acb1d6-8a22-11de-b505-999d5b087335
2009-08-15 01:44:52 +00:00
John Hurliman
79684bd8eb Added an overload to AssetManager.RequestAsset() that takes a transactionID
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3044 52acb1d6-8a22-11de-b505-999d5b087335
2009-07-31 23:23:14 +00:00
John Hurliman
ee7bb90907 Implemented UDP fallback for RequestUploadBakedTexture()
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3042 52acb1d6-8a22-11de-b505-999d5b087335
2009-07-31 21:53:32 +00:00
John Hurliman
c1bc0b4af6 * Moved OpenMetaverse/Resources to bin/openmetaverse_data until we have a working xbuild and reorganize SVN
* Complete rewrite of AppearanceManager. Appearance editing has not been (re)implemented yet, but the normal appearance setting is much more reliable
* Added a setting (defaulted to true) for automatically setting appearance
* Various baking hacks to get slightly less ugly avatars
* Added baked texture uploading through CAPS in AssetManager.RequestUploadBakedTexture(). UDP fallback is not implemented yet
* Added Parallel.Invoke() and overloads for all three methods that take a threadCount

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3038 52acb1d6-8a22-11de-b505-999d5b087335
2009-07-31 17:43:01 +00:00
John Hurliman
820d447672 * Labeled magic number for transfer timeouts in AssetManager and changed the value from 5 to 15 seconds
* Fixed [LIBOMV-649] by implementing the CAPS path for copying an item from a notecard. UDP fallback was left in

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3031 52acb1d6-8a22-11de-b505-999d5b087335
2009-07-27 19:54:08 +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
Latif Khalifa
a4c8f8bba5 LIBOMV-639:
* Renamed TextureCache to AssetCache
* Plugged in new cache into AssetManager
* Removed OnAssetReceived global event from AssetManger
* RequestAsset and RequestInventoryAsset now take a delegate of type AssetReceivedCallback


git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3004 52acb1d6-8a22-11de-b505-999d5b087335
2009-07-19 03:38:27 +00:00
Latif Khalifa
a1685ca431 Missing bit of LIBOMV-629 patch
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2983 52acb1d6-8a22-11de-b505-999d5b087335
2009-07-14 16:16:29 +00:00
John Hurliman
9ff8cdca27 * Fixed StatusCode.InsufficientPermissiosn typo
* Added an overload to AssetManager.RequestAsset() that lets you specify the SourceType
* Modified notecard serialization so embedded items should match the SL viewer serialization byte for byte
* Notecard upload CAP failures will pass along the WebException error message to the callback in case of a failure now

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2961 52acb1d6-8a22-11de-b505-999d5b087335
2009-07-10 16:23:26 +00:00
John Hurliman
7cd73c1d28 * More AbortXfer cleanup
* Fixed a crash from a failed notecard upload

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2951 52acb1d6-8a22-11de-b505-999d5b087335
2009-07-09 22:24:04 +00:00
John Hurliman
0e382f0657 Added handling for AbortXfer packets, which will trigger OnXferReceived with Success=false
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2949 52acb1d6-8a22-11de-b505-999d5b087335
2009-07-09 19:44:02 +00:00
John Hurliman
a970cbd661 Initial commit of the OpenMetaverse.Assets namespace. Serialization/deserialization for new PrimObject is done, but OAR saving/loading is still a work in progress
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2746 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-12 00:07:35 +00:00
Jim Radford
07f8bfad06 LIBOMV-505
* Adds Delegate and Event for tracking the progress of textures being downloaded via the TexturePipeline class.
* Temporarily fixes noisy developers


git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2718 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-08 21:26:14 +00:00
Jim Radford
14869cab48 LIBOMV-505 Merge in jradford-texturepipeline branch
This changes the way texture requests are handled, the AssetManager
RequestImage method signatures have been changed and are now expecting
the callback with the request.
Progressive requests for textures are supported for rendering viewers
Tuning parameters have been moved to Settings


git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2699 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-07 16:10:52 +00:00
Jim Radford
de09b09384 LIBOMV-483 Implements support for AssetLandmark Type, Thanks Josh Eno for the patch
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2591 52acb1d6-8a22-11de-b505-999d5b087335
2009-04-10 21:43:15 +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
Jim Radford
8b2f3b6df8 * Fixed verbosity error in notation unit tests
* Disabled Network Tests in Automated builds
* Fixed minor compile time warning due to XML comment mismatch

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2547 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-27 17:33:54 +00:00
Jim Radford
2180899da3 LIBOMV-180 Adds support for uploading terrain raw files, includes new TestClient uploadterrain command.
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2545 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-26 22:56:44 +00:00
Jim Radford
a9e38221f3 LIBOMV-180 Adds packet handler for InitiateDownload packet which the simulator sends in response to a request for a raw terrain download via the EstateMessage packet
Adds new downloadterrain TestClient Command

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2539 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-25 21:39:24 +00:00
Jim Radford
63517c20c2 LIVOMV-451 Prevent DiscardLevel from being set to below 0 which can cause transfers to be very slow on busy simulators Thanks Snowdrop Short for the patch
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2495 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-18 18:11:31 +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
John Hurliman
8f7775a7ac [LIBOMV-448] Applying a patch from Snowdrop Short to allow the TransactionID to be specified for asset uploads
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2445 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-18 19:07:06 +00:00
Jim Radford
e1f7110a46 LIBOMV-434 Applies patch from Robin Cornelius - AppearanceManager - corrects cached bake issues, work in progress
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2415 52acb1d6-8a22-11de-b505-999d5b087335
2009-01-14 11:29:29 +00:00
John Hurliman
1df78cb074 * Split up asset store and transfer manager in Simian into two extensions
* Added PeriscopeTransferManager to handle animation and sound transfers
* Misc. transfer bugfixes in libomv
* Misc. improvement to TexturePipeline and some numbers tweaking
* Attempted to pass object touch events through to foreign grid in Periscope, may not be working
* Added new chat commands in Periscope

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2385 52acb1d6-8a22-11de-b505-999d5b087335
2008-12-19 03:39:29 +00:00
John Hurliman
194752abc1 * Moved TexturePipeline into libOpenMetaverse (still needs to be instantiated separately)
* Moved TextureCache into its own file
* New version of Periscope, major improvements. Check the Simian.ini file for usage, and change the const values in Periscope.cs
* Lots of miscellaneous cleanups and improvements in Simian

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2383 52acb1d6-8a22-11de-b505-999d5b087335
2008-12-17 03:49:42 +00:00
John Hurliman
7f8cffafd2 * Moved BlockingQueue, DoubleDictionary, and ExpiringCache into OpenMetaverseTypes.dll
* First attempt at an EventQueueServer implementation, untested
* Implemented a capabilities server that can route capabilities to local callbacks or remote URIs
* Modified HttpServer.HttpRequestCallback to return a bool: true to close the connection, false to leave it open
* Removed all locks from HttpServer and added try/catch around HttpListenerContext operations
* Added Color4.FromHSV()

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2379 52acb1d6-8a22-11de-b505-999d5b087335
2008-12-15 19:13:24 +00:00
John Hurliman
9d80aaae54 Added an attempted fix to keep out of order Xfer packets from killing the transfer
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2350 52acb1d6-8a22-11de-b505-999d5b087335
2008-11-11 23:55:33 +00:00
John Hurliman
5376dcdb17 Fixing endianness bug in xfer downloads
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2349 52acb1d6-8a22-11de-b505-999d5b087335
2008-11-11 23:07:43 +00:00
John Hurliman
2e2eb76f65 Added a debugging line for Xfer downloads
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2348 52acb1d6-8a22-11de-b505-999d5b087335
2008-11-11 22:28:36 +00:00
John Hurliman
932306aba9 Added a param to AssetManager.RequestAssetXfer() that specifies if LLPath.Cache (4) or LLPath.Unknown (0) should be used in the request
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2347 52acb1d6-8a22-11de-b505-999d5b087335
2008-11-11 22:20:50 +00:00
John Hurliman
0317e6a35f Reverting [LIBOMV-420], OpenSim trunk correctly obeys the 1000 byte packet size so this is unnecessary
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2344 52acb1d6-8a22-11de-b505-999d5b087335
2008-11-10 18:37:25 +00:00
John Hurliman
983f235b3a Applying patch from Anton Lauridsen for [LIBOMV-420] to support texture downloads from simulators that use a non-standard size for transfer packets. Will definitely increase memory usage and fragmentation, but not much can be done until the udp texture transfer protocol goes away entirely
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2343 52acb1d6-8a22-11de-b505-999d5b087335
2008-11-10 18:19:45 +00:00
John Hurliman
61c8451fac * Allow HttpServer AddHandler() and RemoveHandler() while the server is running
* Simplified HttpServer calback exception handling
* Fixed a recently introduced typo in LLSD binary serialization
* Allow LLSD binary serialization to work with any Stream instead of only MemoryStream
* Improved Utils.HexStringToBytes(), changed function signature
* Added an efficient Utils.EnumTryParse<T>()

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2323 52acb1d6-8a22-11de-b505-999d5b087335
2008-11-05 01:50:24 +00:00
John Hurliman
046a778b09 Applying [LIBOMV-395] from Jeff Ames to comment out dead code and fix lots of compiler warnings
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2284 52acb1d6-8a22-11de-b505-999d5b087335
2008-10-09 16:48:44 +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
John Hurliman
2582304f4e * OnImageReceiveProgress now returns the packet number it just received
* Texture re-request timer will now reduce the DiscardLevel by one each re-request. This is temporary while we re-think the callback system for texture downloads
* TestClient downloadtexture now takes an optional DiscardLevel
* Added int support to Utils.Clamp()

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2246 52acb1d6-8a22-11de-b505-999d5b087335
2008-09-29 13:58:08 +00:00
John Hurliman
2b8196c8d9 Fixing bugs in the previous commit for refreshing texture downloads
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2228 52acb1d6-8a22-11de-b505-999d5b087335
2008-09-16 01:48:27 +00:00
John Hurliman
6497ef03ca * Modified ImageDownload to hold ImageType and DiscardLevel
* RequestImage() now takes a starting packet number as a parameter
* Image download refresh timer calculates which packet to restart the transfer at

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2227 52acb1d6-8a22-11de-b505-999d5b087335
2008-09-16 00:31:55 +00:00
Jim Radford
038c6eede0 LIBOMV-379 Added Animation type support to wrapper creation in AssetManager
git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2218 52acb1d6-8a22-11de-b505-999d5b087335
2008-09-13 03:16:21 +00:00
John Hurliman
4f94adf5ec * IMPORTANT OpenMetaverseTypes CHANGE! Changed string to UUID typecast operator from implicit to explicit. This prevents accidents like "if (myUUID == null)" from compiling
* Added ImageCodec enum

git-svn-id: http://libopenmetaverse.googlecode.com/svn/trunk@2209 52acb1d6-8a22-11de-b505-999d5b087335
2008-09-10 18:42:11 +00:00