Commit Graph

17 Commits

Author SHA1 Message Date
John Hurliman
e2aa580f7e Basic sanity checking in UUID.TryParse() to avoid throwing and catching exceptions for most failed parses. Improves the speed of UUID.TryParse() when false is returned
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3179 52acb1d6-8a22-11de-b505-999d5b087335
2009-10-27 18:34:15 +00:00
John Hurliman
8e3d1bb711 * Minor adjustment in CSJ2K to dispose MemoryStreams when it creates them
* Replaced all Packet field properties with simple class members. Big internal change but no API difference
* TextureEntry GetBytes() now disposes the MemoryStream it creates
* Added LocklessQueue.Count and LocklessQueue.Clear()

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3169 52acb1d6-8a22-11de-b505-999d5b087335
2009-10-24 07:10:47 +00:00
John Hurliman
04f920aea9 * Helpers.GetResourceStream() now uses the executable directory + openmetaverse_data as the path for finding resources instead of current directory + openmetaverse_data
* Added add, subtract, multiply operators to Color4
* Switched baking to use Color4 instead of System.Drawing.Color
* Untested implementation of multiply and add color operations in baking

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3077 52acb1d6-8a22-11de-b505-999d5b087335
2009-08-12 06:11:36 +00:00
John Hurliman
41b7ad90c1 Added Color4.Lerp()
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3076 52acb1d6-8a22-11de-b505-999d5b087335
2009-08-12 05:22:47 +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
6bb96a6e28 Improved OpenMetaverse.Parallel by only using a single AutoResetEvent per loop (fewer context switches into kernel space) and allowing exceptions in method bodies to propagate back to the caller
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3043 52acb1d6-8a22-11de-b505-999d5b087335
2009-07-31 22:39:37 +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
68b1bc1ef7 Initial commit of OpenMetaverse.Parallel in OpenMetaverseTypes.dll. This adds Parallel.For() and Parallel.ForEach() static methods that behave similar to the new parallel extensions in C# 4.0
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3035 52acb1d6-8a22-11de-b505-999d5b087335
2009-07-30 21:33:28 +00:00
John Hurliman
de9f01f882 * Changing RegionInfo.Capabilities from Dictionary<string, Uri> to Dictionary<Uri, Uri> since all service methods use full URI identifiers now
* Added Utils.HostnameToIPv4() to OpenMetaverseTypes.dll

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2900 52acb1d6-8a22-11de-b505-999d5b087335
2009-06-17 00:52:39 +00:00
John Hurliman
c7292118b1 * Adding SHA256 methods to OpenMetaverseTypes
* Implementing CreateAssetMessage and CreateAssetReplyMessage in Cable Beach messages

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2880 52acb1d6-8a22-11de-b505-999d5b087335
2009-06-13 00:27:54 +00:00
John Hurliman
93a7cc5767 Rewrote the locking in ExpiringCache to use a simple Monitor instead of ReaderWriterLock, since nearly every access is a write operation. This also gets rid of a bug where a writer lock was not properly freed in ExpiringCache.TryGetValue()
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2874 52acb1d6-8a22-11de-b505-999d5b087335
2009-06-10 06:49:52 +00:00
John Hurliman
bb68819d3f Removing CircularHashedQueue since 1) the implementation was wrong, 2) it was highly specific to a single task in ACK management and not a generally useful collection
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2774 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-16 10:55:19 +00:00
John Hurliman
30e17756d0 * Adding try/finally blocks for every lock acquisition in DoubleDictionary to keep exceptions from putting the collection in an inconsistent state
* Removed [] get accessors until someone can demonstrate thread-safe code that uses them (they encourage non-threadsafe code patterns)

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2773 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-16 09:28:03 +00:00
John Hurliman
2520b6d0ea * Adding a LocklessQueue collection to OpenMetaverseTypes
* Fixing minor compile warnings

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2772 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-16 09:12:12 +00:00
John Hurliman
ef072802d4 Changed DoubleDictionary to use ReaderWriteLockSlim
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2771 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-16 02:00:11 +00:00
John Hurliman
8014afcc3e * Added ReaderWriterLockSlim.cs to OpenMetaverseTypes from the Mono SVN
* Prebuild will now define the VISUAL_STUDIO symbol in .csproj files while leaving NAnt files alone
* A conditional was added to use the .NET ReaderWriterLockSlim for VS compiles and the one in OpenMetaverseTypes for Mono compiles. This is a kludge until everyone is running Mono 2.6 or later (hah)

git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2769 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-16 01:34:41 +00:00
John Hurliman
ad102f3ea9 Moving OpenMetaverseTypes library to its own folder. This will save a lot of prebuild headaches
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2744 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-11 19:28:50 +00:00