Commit Graph

2825 Commits (9ea42fdfab2ac99e24b386d67a08cf0024230f54)

Author SHA1 Message Date
Diva Canto c0a8c2e707 Making the library read the item's flag, so that clothing items can have the proper icons. 2009-12-21 06:58:21 -08:00
Melanie 3d3e0ea4f3 Merge branch 'master' into careminster 2009-12-20 16:45:28 +00:00
Kitto Flora eecaa3d9dd Merge branch 'tests' 2009-12-19 20:00:00 -05:00
Kitto Flora e38e8ae987 Fix mantis #10 & #14 2009-12-19 19:54:44 -05:00
CasperW 6dbe25360e Add cmSetWindlightSceneTargeted. Add restrictions on windlight script use. 2009-12-17 18:40:34 +01:00
Justin Clark-Casey (justincc) 87e9062862 Make sure that we catch and display any exceptions that get right to the top of our incoming http request handling stack 2009-12-15 16:34:27 +00:00
Justin Clark-Casey (justincc) 57d60a95a2 minor: make logging messages consistent in BaseHttpServer 2009-12-15 16:23:57 +00:00
Melanie f8b6bc8d11 Merge branch 'master' into careminster 2009-12-15 15:46:18 +00:00
Justin Clark-Casey (justincc) ffff12f7c1 Change default grid and inventory service ports in ConfigSettings to the ROBUST default of 8003 2009-12-15 15:37:03 +00:00
Melanie 824d7190c2 Merge branch 'master' into careminster 2009-12-14 00:40:56 +00:00
Adam Frisby 963cf25813 * Implements OSSL function: osGetSimulatorMemory - returns the current amount of memory allocated to the simulator process (Moderate Threat Level).
* Cleans redundant information out of the Simulator Version. Versions now look like:
"OpenSimulator 0.6.9(dev) Unix/Mono"
* [Minor] additional log info for MySQLInventoryData
2009-12-13 03:04:16 +11:00
Melanie 30d64444a0 And reverse 2009-12-12 16:01:53 +00:00
Melanie 9904700dfd Another whitespace test commit 2009-12-12 16:00:44 +00:00
Melanie c00158b238 Reverse test commit (again) 2009-12-12 14:35:12 +00:00
Melanie 794419852b Another test 2009-12-12 14:23:20 +00:00
Melanie fbafd22124 Reverse text commit whitespace change 2009-12-12 13:43:49 +00:00
Melanie b9cd66d510 test commit 2009-12-12 13:33:45 +00:00
Melanie 0fdf883cbd Merge branch 'master' into careminster 2009-12-12 04:56:28 +00:00
Kunnis d89f3e9811 Getting rid of SimpleRegionInfo and SerializableRegionInfo per Mel
Signed-off-by: Melanie <melanie@t-data.com>
2009-12-12 04:44:32 +00:00
Melanie 1382dc976c Merge branch 'master' into careminster 2009-12-12 04:14:47 +00:00
Melanie 83ca7db4b8 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2009-12-12 04:14:12 +00:00
Kunnis 62ec60ca76 Getting rid of a bunch of old classes, that are likely left over from the ROBUST change.
Signed-off-by: Melanie <melanie@t-data.com>
2009-12-12 04:13:39 +00:00
Diva Canto d20fe7bfdd A couple of more sanity guards, but this won't fix things when user profile fetching is borked. 2009-12-11 20:06:42 -08:00
Diva Canto 5f0478c4c4 Fix to make [bad] tests happy. 2009-12-11 08:28:24 -08:00
Diva Canto decd51f081 Attempt at fixing mantis #4411. 2009-12-11 08:11:26 -08:00
Melanie 0889b5aef1 Fix version number 2009-12-10 18:20:40 +00:00
Melanie 59ca92b10b Merge branch 'tests' of kitto@tor.k-grid.com:/home/kitto/opensim into careminster 2009-12-10 18:17:29 +00:00
unknown dbd8c400ce Merge branch 'careminster' into windlight 2009-12-07 18:14:02 +01:00
unknown 29a740ec8c Initial windlight codebase commit 2009-12-07 18:05:40 +01:00
Melanie 9155c9ee37 Merge branch 'master' into careminster 2009-12-07 14:14:00 +00:00
CasperW 172e2f4e76 Fix to existing ReaderWriterLockSlim implementations 2009-12-06 17:23:07 +01:00
Kunnis 4c61fcfc40 Getting rid of the dead field RootInventoryFolderId on UserProfileData, It's not even stored in mysql.
Signed-off-by: Melanie <melanie@t-data.com>
2009-12-06 03:57:15 +00:00
Melanie 43a6fa1d01 Merge branch 'master' into careminster 2009-12-05 19:53:54 +00:00
Teravus Ovares (Dan Olivares) 8e089b6d8d * Fix line endings in BaseHttpServer.cs 2009-12-05 13:23:05 -05:00
KittoFlora cc8246206d Secnond revision of Sit and Stand for unscripted prims; Comment out
spammy debug messages in Interregion....
2009-12-05 09:03:02 +01:00
Justin Clark-Casey (justincc) 504bfd87d5 if an xml rpc method throws an exception, log as an error to the console as well as returning the exception to the caller 2009-12-03 18:05:42 +00:00
dahlia 4234c64147 handle a condition where the http headers apparently have multiple remote ports designated 2009-12-02 04:10:53 -08:00
Melanie ded16d3529 Merge branch 'master' into careminster 2009-12-02 00:36:53 +00:00
Teravus Ovares (Dan Olivares) 4af77e84b1 * Fix Inconsistent line ending style in Util 2009-12-01 10:21:22 -05:00
Melanie 69d83e1548 Merge branch 'master' into careminster 2009-11-30 08:25:40 +00:00
Teravus Ovares (Dan Olivares) 4338f4e1d7 * Patch from Misterblue to fix Environment.TickCount for statistics purposes. Resolves the wrap-around of the 32 bit uint.
* Teravus moved the Environment methods to the Util class
2009-11-29 05:06:25 -05:00
Melanie d3e7a52933 Merge branch 'master' into careminster 2009-11-28 09:26:00 +00:00
Justin Clark-Casey (justincc) 251fd8c948 Apply patch to reduce git revision text length if running sim directly from a git tree
See http://opensimulator.org/mantis/view.php?id=4030
Thanks ChrisDown (and Bruce for reporting)
2009-11-27 18:24:21 +00:00
Melanie ad2f0a1290 Remove OS version crap from about dialog 2009-11-26 18:04:58 +00:00
Melanie bd3b9f79c2 Update CM version 2009-11-26 17:59:28 +00:00
Melanie ed148eba32 Merge branch 'master' into careminster 2009-11-26 17:45:09 +00:00
Justin Clark-Casey (justincc) 377bc27c1f Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim 2009-11-26 19:02:41 +00:00
Justin Clark-Casey (justincc) 52dc9ec003 Bump trunk version number to 0.6.9.
This is a place holder name and not necessarily the version number that will be used
2009-11-26 19:00:57 +00:00
Melanie 06f41bb017 Merge branch 'master' into careminster 2009-11-26 17:27:03 +00:00
Melanie 9d63f90467 Remove the old (Remoting) region crossing code. Fix the new code to
pass script state and assembly again properly. Reintroduce respecting tht
TrustBinaries flag. Changes the interregion protocol! No version bump
because it was broken anyway, so with a version mismatch it will simply
stay broken, but not crash. Region corssing still doesn't work because
there is still monkey business with both rezzed prims being pushed across
a border and attached prims when walking across a border. Teleport is
untested by may work.
2009-11-26 17:03:09 +00:00
Melanie a27d33cb63 Remove the old remoting-type interregion code for prim/script crossing 2009-11-26 13:13:56 +00:00
Melanie 05fc504ff3 Remove the old remoting-type interregion code for prim/script crossing 2009-11-26 12:16:42 +00:00
Melanie 79395bc7db Merge branch 'master' into careminster 2009-11-25 17:04:05 +00:00
Justin Clark-Casey (justincc) a4d2a97bc6 minor: remove some mono compiler warnings, add --merge load oar switch to help information 2009-11-25 16:14:08 +00:00
CasperW d114713694 Drop all locking of part.TaskInventory in favour of a ReaderWriterLockSlim lock handler. This gives us:
- Faster prim inventory actions. Multiple threads can read at once.
 - Fixes the known prim inventory thread locks
 - In the event of a thread lock occurring, it will usually self heal after sixty seconds with an error message in the console
2009-11-24 18:02:12 +01:00
Jeff Ames 9f5c2acd12 Formatting cleanup. 2009-11-23 11:26:06 +09:00
dahlia 0561cf7d93 Merge branch 'master' of ssh://dahlia@myConnection01/var/git/opensim 2009-11-20 03:12:36 -08:00
dahlia 54b5677f23 remove early return from PrimitiveBaseShape.ToOmvPrimitive() when prim is a sculpty 2009-11-20 03:12:07 -08:00
Justin Clark-Casey (justincc) 7166f3748a minor: correct error messages when queryfolder fails 2009-11-18 18:44:47 +00:00
Justin Clark-Casey (justincc) 47e482217e minor: remove duplicate copyright notice in PollServiceWorkerThread 2009-11-18 16:28:00 +00:00
dahlia 1afd347615 Correct formatting of Primitive.Textures in PrimitiveBaseShape.ToOmvPrimitive method 2009-11-17 23:17:50 -08:00
Justin Clark-Casey (justincc) 0712196c26 make logging less verbose when loading iars 2009-11-13 18:56:23 +00:00
dahlia 89a63c9a8b Some corrections to PrimitiveBaseShape.ToOmvPrimitive() 2009-11-13 01:18:52 -08:00
Justin Clark-Casey (justincc) d95df603df move fake user service to a separate mock user service class
delete asset cache tests shell
2009-11-12 19:33:38 +00:00
Justin Clark-Casey (justincc) 2f092d271e Rename test services to mock services, since this is a more accurate description
remove duplicate mock inventory service
2009-11-12 18:44:03 +00:00
Justin Clark-Casey (justincc) 1fa037a0c3 minor: remove some mono compiler warnings 2009-11-11 15:56:14 +00:00
dahlia a8a01e2bc7 add a ToOmvPrimitive() method to PrimitiveBaseShape 2009-11-11 02:54:58 -08:00
John Hurliman 5145dfa53c * Removing the redundant SendPrimitiveTerseData.State field, it duplicates AttachPoint
* LLClientView.CreateImprovedTerseBlock() now uses AttachPoint and does the proper high-low swap (this should fix disappearing attachment pieces)
2009-11-09 17:13:56 -08:00
Melanie 5300e8506d Reintroduce AssetBase's old behavior. A Parameterless constructor is required
for .NET serialization and removing it breaks the OpenSim asset server
protocol.
2009-11-06 10:33:49 +00:00
John Hurliman afef1ac191 Changing the AssetBase constructors to avoid initializing assets with an unknown asset type, and log an error if it ever does happen 2009-11-05 13:10:58 -08:00
Melanie 83b4b4440b Patch by revolution, thank you. Mantis #1789 . Implement friends permissions.
Applied with major changes. Core functionality commented pending review
for possible rights escalation. No user functionality yet.
2009-11-05 02:09:07 +00:00
Melanie c72f78215b Backport the fixes to WebFetchInventoryDescendents to the UDP
InventoryDescendents packet. Testing has shown that UDP inventory now
works flawlessly and, unlike CAPS inventory, doesn't download the entire
agent inventory on start. Neither does it incessantly re-request folder
NULL_KEY. Therefore, I have disabled CAPS inventory.
2009-11-04 01:56:19 +00:00
Justin Clark-Casey (justincc) 865d3f4b09 minor: remove a few mono compiler warnings 2009-11-03 19:35:18 +00:00
Teravus Ovares (Dan Olivares) fb08133999 * Remove the locklessqueue tests since I guess I didn't understand what it was when I wrote the test. 2009-10-30 19:24:14 -04:00
Teravus Ovares (Dan Olivares) 5101f688ee * Add LocklessQueueTests. One Test is commented out because it fails. It should probably work.. but I'm awaiting clarification. 2009-10-30 19:13:57 -04:00
Teravus Ovares (Dan Olivares) 2e81acec48 * Adding Tests for OpenSim.Framework.Cache. Some test cases disabled until mantis resolutions. 2009-10-30 18:13:58 -04:00
Teravus Ovares (Dan Olivares) 4563f00852 * Another ACL Test 2009-10-30 17:27:44 -04:00
Teravus Ovares (Dan Olivares) 120c731a3b * Moving A test from the OpenSim.Framework.ACL object to the OpenSim.Framework.Tests assembly. Fixing the test. 2009-10-30 17:04:10 -04:00
John Hurliman b81c829576 * Standalone logins will now go through the sequence of "requested region, default region, any region" before giving up
* Hip offset should have been added not subtracted (it's a negative offset). This puts avatar feet closer to the ground
* Improved duplicate checking for terse updates. This should reduce bandwidth and walking through walls
2009-10-28 14:13:17 -07:00
John Hurliman f89c2cac0f Experimental test to rate limit the incoming packet handler and try to always leave a worker thread available for other tasks 2009-10-27 14:16:01 -07:00
John Hurliman c75d415648 * Converts ClientManager.ForEach() (and as a result, Scene.ForEachClient()) to use a non-blocking parallel method when operating in async mode
* Minor code readability cleanup
2009-10-27 00:26:56 -07:00
John Hurliman 0b1726b524 Removing the ClientManager reference from IScene and hiding it entirely inside Scene as an implementation detail. This will reduce programming error and make it easier to refactor the avatar vs client vs presence mess later on 2009-10-26 16:48:43 -07:00
John Hurliman 4847e62e9f * Switched all operations on the list of clients that could be either sync or async to use Scene.ForEachClient() instead of referencing ClientManager directly
* Added a new [Startup] config option called use_async_when_possible to signal how to run operations that could be either sync or async
* Changed Scene.ForEachClient to respect use_async_when_possible
* Fixing a potential deadlock in Parallel.ForEach by locking on a temporary object instead of the enumerator (which may be shared across multiple invocations on ForEach). Thank you diva
2009-10-26 16:33:04 -07:00
John Hurliman ac7ccdf7d7 * Changed the watchdog timer to improve the speed of UpdateThread(), only track threads once the first call to UpdateThread() has been made, and allow re-tracking of threads that timed out but revived later
* Added a commented out call to Watchdog.UpdateThread() in OdeScene. If it turns out that loading a large OAR file or some other operation is timing out the heartbeat thread, we'll need to uncomment it
2009-10-26 14:41:27 -07:00
John Hurliman 730930955a Changing Scene.ForEachClient to use the synchronous for loop instead of Parallel. This is quite possibly the source of some deadlocking, and at the very least the synchronous version gives better stack traces
* Lock the LLUDPClient RTO math * Add a helper function for backing off the RTO, and follow the optional advice in RFC 2988 to clear existing SRTT and RTTVAR values during a backoff

* Removing the unused PrimitiveBaseShape.SculptImage parameter * Improved performance of SceneObjectPart instantiation * ZeroMesher now drops SculptData bytes like Meshmerizer, to allow the texture data to be GCed * Improved typecasting speed in MySQLLegacyRegionData.BuildShape()

* Improved the instantiation of PrimitiveBaseShape
2009-10-25 00:40:21 -07:00
John Hurliman 52a4534f7f * Change the way Util.FireAndForget() calls SmartThreadPool to avoid using a delegate (which STP appears to hold on to). This removes the slow leak I was seeing when using async_call_method=SmartThreadPool and stabilizes allocated memory for an idle OpenSim instance 2009-10-23 13:45:18 -07:00
John Hurliman a41cd1d069 * Unregister Mono.Addins event handlers in PluginLoader.Dispose() and always handle PluginLoader with the using pattern. This freed up 121,634,796 bytes on my system
* Avoid allocating an Action<IClientAPI> object every round of the OutgoingPacketHandler
* Removed unnecessary semi-colon endings from OpenSim.ini.example [InterestManagement] section
2009-10-23 13:14:29 -07:00
John Hurliman b2ed348aa2 Implemented a Watchdog class. Do not manually create Thread objects anymore, use Watchdog.StartThread(). While your thread is running call Watchdog.UpdateThread(). When it is shutting down call Watchdog.RemoveThread(). Most of the threads in OpenSim have been updated 2009-10-22 12:33:23 -07:00
John Hurliman 36b0e5e1d3 Terrible typo in the previous commit! 2009-10-22 11:07:23 -07:00
John Hurliman 6ca4b0f366 * Added a check if Util.m_ThreadPool is null before trying to use it, and if so initialize it to sane defaults
* Simplified the InitThreadPool() function
2009-10-22 10:37:11 -07:00
Jeff Ames d756fa01ae Add copyright header. Formatting cleanup. 2009-10-22 18:57:24 +09:00
John Hurliman 2f394b7e7e * Allow SmartThreadPool to be initialized without setting max stack size (like the original implementation)
* Only initialize Util's SmartThreadPool if it is actually being used
* No longer initializing Util's SmartThreadPool with a custom max stack size. From MSDN: "Avoid using this constructor overload. The default stack size used by the Thread(ThreadStart) constructor overload is the recommended stack size for threads."
2009-10-22 01:30:12 -07:00
Melanie 1e71e3f910 Remove the "mel_t" from version string 2009-10-22 07:03:40 +01:00
Melanie b35fbe1f98 Merge branch 'melanie_test' into prioritization
This makes SmartThreadPool configurable and also makes it the default, since
the regular thread pool simply stinks.
2009-10-22 07:02:21 +01:00
John Hurliman 32ccd5bb40 * Changed the misc. methods calling ThreadPool.UnsafeQueueUserWorkItem() to Util.FireAndForget()
* Changed Util.FireAndForget() to use any of five different methods set with async_call_method in the [Startup] section of OpenSim.ini. Look at the example config for possible values
2009-10-21 23:03:18 -07:00
Melanie 8ce4fd7234 Reduce the default pool threads to 15 (from 30) and the minimum from 5 to 2 2009-10-22 04:02:26 +01:00
Melanie 8a336c6860 Add MaxPoolThreads in startup to limit the size of the thread pool used
for FireAndForget. This lets us limit concurrency to make OpenSim play nice
2009-10-22 02:28:53 +01:00
John Hurliman 6492640e72 * Change the OnQueueEmpty signature to send the flags of the queues that are empty instead of firing once per empty queue
* Change the OnQueueEmpty firing to use a minimum time until next fire instead of a sleep
* Set OutgoingPacket.TickCount = 0 earlier to avoid extra resends when things are running slowly (inside a profiler, for example)
2009-10-21 18:03:41 -07:00
Melanie 9ec55df988 Mark new version 2009-10-22 01:51:27 +01:00
John Hurliman 2b39ff0a39 Merged master into prioritization 2009-10-21 16:24:17 -07:00
Melanie 93b24b5207 Fix web map retrieval for regions configured via .ini 2009-10-21 03:44:40 +01:00
Melanie 2a886fd76c Really make module port selection work. Implement port setting in
LLProxyLoginModule.
2009-10-21 02:19:45 +01:00
John Hurliman 8151190a45 * Removing ODEPrim and ODECharacter GetHashCode() overrides since they were based on something that could change
* Tweaked a few other GetHashCode() overrides to bring them in line with MSDN recommendations
2009-10-20 10:56:15 -07:00
Melanie 9bc303d293 Add MainServer.GetHttpServer(port) method for using multiple listener
ports in region modules
2009-10-20 16:57:22 +01:00
John Hurliman fdce1be3db * Removed OpenSim.Data.NHibernate
* Replaced calls to ThreadPool.QueueUserWorkItem() with ThreadPool.UnsafeQueueUserWorkItem() since OpenSim does not use Code Access Security sandboxing
2009-10-19 16:52:27 -07:00
John Hurliman bd03cbd815 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim into prioritization 2009-10-19 15:19:37 -07:00
John Hurliman 142008121e * Change Util.FireAndForget to use ThreadPool.UnsafeQueueUserWorkItem(). This avoids .NET remoting and a managed->unmanaged->managed jump. Overall, a night and day performance difference
* Initialize the LLClientView prim full update queue to the number of prims in the scene for a big performance boost
* Reordered some comparisons on hot code paths for a minor speed boost
* Removed an unnecessary call to the expensive DateTime.Now function (if you *have* to get the current time as opposed to Environment.TickCount, always use DateTime.UtcNow)
* Don't fire the queue empty callback for the Resend category
* Run the outgoing packet handler thread loop for each client synchronously. It seems like more time was being spent doing the execution asynchronously, and it made deadlocks very difficult to track down
* Rewrote some expensive math in LandObject.cs
* Optimized EntityManager to only lock on operations that need locking, and use TryGetValue() where possible
* Only update the attachment database when an object is attached or detached
* Other small misc. performance improvements
2009-10-19 15:19:09 -07:00
Jeff Ames 0a259caeef Minor formatting cleanup. 2009-10-19 15:48:07 +09:00
John Hurliman 233e16b99c * Rewrote the methods that build ObjectUpdate and ImprovedTerseObjectUpdate packets to fill in the data more accurately and avoid allocating memory that is immediately thrown away
* Changed the Send*Data structs in IClientAPI to use public readonly members instead of private members and getters
* Made Parallel.ProcessorCount public
* Started switching over packet building methods in LLClientView to use Util.StringToBytes[256/1024]() instead of Utils.StringToBytes()
* More cleanup of the ScenePresences vs. ClientManager nightmare
* ScenePresence.HandleAgentUpdate() will now time out and drop incoming AgentUpdate packets after three seconds. This fixes a deadlock on m_AgentUpdates that was blocking up the LLUDP server
2009-10-18 20:24:20 -07:00
Jeff Ames 0d29614ca1 Formatting cleanup. 2009-10-19 08:58:03 +09:00
John Hurliman b4526a5a6d * Big performance increase in loading prims from the region database with MySQL
* Handle the AgentFOV packet
* Bypass queuing and throttles for ping checks to make ping times more closely match network latency
* Only track reliable bytes in LLUDPCLient.BytesSinceLastACK
2009-10-18 02:00:42 -07:00
John Hurliman fdb2a75ad3 Committing the second part of Jim Greensky @ Intel Lab's patch, re-prioritizing updates 2009-10-17 18:01:22 -07:00
John Hurliman 3a63de8d02 Added a description for RegionType 2009-10-17 15:55:30 -07:00
Melanie cdcbd22ba8 Merge branch 'master' into prioritization 2009-10-17 14:51:17 +01:00
Melanie c7da13eb23 Adds SendAvatarInterestsUpdate to IClientAPI
Thank you, Fly-Man
2009-10-17 14:50:21 +01:00
Melanie e5ccd3f793 Merge branch 'master' into prioritization 2009-10-17 14:34:48 +01:00
Melanie a95741cdd6 Re-rename ProductName back to it's original RegionType 2009-10-17 14:33:46 +01:00
Melanie 077f473167 Merge branch 'master' into prioritization 2009-10-17 13:41:32 +01:00
Melanie 72b96bcd84 Add ProductName to RegionInfo (for search) 2009-10-17 13:36:45 +01:00
John Hurliman 80a8a9c4a7 Converted FireAndForget methods to use a singleton pattern to attempt to work around a Mono bug with nested delegates 2009-10-16 14:34:42 -07:00
John Hurliman 4b75353cbf Object update prioritization by Jim Greensky of Intel Labs, part one. This implements a simple distance prioritizer based on initial agent positions. Re-prioritizing and more advanced priority algorithms will follow soon 2009-10-15 16:35:27 -07:00
jjgreens df2d5a460f Replaced the update lists with a priority queue implementation in LLClientView
Replaced the update lists with a priority queue implementation in LLClientView.
The priority queues are based on the MinHeap implementation also included in
this commit within the OpneSim.Framework namespace.  Initially setup to exactly
mimic the behavior beofre the change which was a first come first serve queue.
2009-10-15 15:52:53 -07:00
John Hurliman 82012ec4e3 * Clean up the SetThrottle() code and add a maxBurstRate parameter to allow more tweaking in the future 2009-10-14 16:21:48 -07:00
John Hurliman 1e9e9df0b3 * Switched to a plain lock for the ClientManager collections and protected the TryGetValues with try/catch instead of a lock
* Added ClientManager.ForEachSync() for operations that need to run synchronously, such as "show connections"
2009-10-14 14:25:58 -07:00
John Hurliman 4135b0c4dc * Split Task category into Task and State
* Crude prioritization hack
2009-10-13 19:45:38 -07:00
John Hurliman e8c1e69a0d * Copied LocklessQueue.cs into OpenSim.Framework and added the .Count property and .Clear() method
* Changed the way the QueueEmpty callback is fired. It will be fired asynchronously as soon as an empty queue is detected (this can happen immediately following a dequeue), and will not be fired again until at least one packet is dequeued from that queue. This will give callbacks advanced notice of an empty queue and prevent callbacks from stacking up while the queue is empty
* Added LLUDPClient.IsConnected checks in several places to prevent unwanted network activity after a client disconnects
* Prevent LLClientView.Close() from being called twice every disconnect
* Removed the packet resend limit and improved the client timeout check
2009-10-13 18:56:54 -07:00
John Hurliman dc11643c00 * Consolidated adding / removing ClientManager IClientAPIs to two places in Scene
* Added some missing implementations of IClientAPI.RemoteEndPoint
* Added a ClientManager.Remove(UUID) overload
* Removed a reference to a missing project from prebuild.xml
2009-10-13 17:33:45 -07:00
John Hurliman 395a8680c3 * Fixed a bug where clients were being added to ClientManager twice
* Changed the ClientManager interface to reduce potential errors with duplicate or mismatched keys
* Added IClientAPI.RemoteEndPoint, which can (hopefully) eventually replace IClientAPI.CircuitCode
* Changed the order of operations during client shutdown
2009-10-13 16:53:19 -07:00
John Hurliman 23a334b9f5 * Rewrote ClientManager to remove Lindenisms from OpenSim core, improve performance by removing locks, and replace LLUDPClientCollection
* Removed the confusing (and LL-specific) shutdowncircuit parameter from IClientAPI.Close()
* Updated the LLUDP code to only use ClientManager instead of trying to synchronize ClientManager and m_clients
* Remove clients asynchronously since it is a very slow operation (including a 2000ms sleep)
2009-10-13 14:50:03 -07:00
John Hurliman c893761319 * Unregister event handlers in LLUDPServer when a client logs out and disconnects
* Move ViewerEffect handling to Scene.PacketHandlers
* Removing the unused CloseAllAgents function
* Trimming ClientManager down. This class needs to be reworked to keep LLUDP circuit codes from intruding into the abstract OpenSim core code
2009-10-13 12:50:59 -07:00
Melanie 170d2c4660 Merge branch 'master' into htb-throttle 2009-10-12 15:25:42 +01:00
Diva Canto 8030ed89b0 Use Util.UTF8 instead of creating a new heap object every time. 2009-10-10 06:35:31 -07:00
Melanie 5e6e31591c Merge branch 'master' into htb-throttle
This is hand-edited to not let master changes creep into here and may cause a
somewhat rocky merge to master later.
2009-10-10 10:26:47 +01:00
Diva Canto f29bd8036d A slight improvement on name fetching -- using the local name cache, since it exists. 2009-10-09 14:36:08 -07:00
Diva Canto c146f2c8c4 Use the cache, Luke! 2009-10-09 13:49:55 -07:00
Melanie 527c94825b Merge branch 'master' into htb-throttle 2009-10-09 17:23:18 +01:00
Rob Smart 1c220e173c Adding a hair item to the default wearables, fixes newly created avatars appearing as a cloud 2009-10-09 17:22:02 +01:00
John Hurliman 494a1e922d Calling .Close() on AutoResetEvent and ManualResetEvent (those classes contain an unmanaged resource that will not automatically be disposed when they are GCed), and commenting out some ManualResetEvents that are not in use yet 2009-10-09 02:10:53 -07:00
Melanie 1eb390beda Remove ThreadTrackerTest. It's no longer relevant because the thread
tracker now uses the system thread list
2009-10-08 08:32:34 +01:00
Diva Canto 29f03d95f3 Bug fix. 2009-10-07 19:20:34 -07:00
Diva Canto ab3bfca546 Printout one more field in show threads, but this won't buy us much. 2009-10-07 17:29:21 -07:00
Melanie 6f2d183107 Merge branch 'master' into htb-throttle 2009-10-07 03:01:11 +01:00
Diva Canto b5b53dd3eb * One more debug message on FetchInventoryDescendants
* More streams close on finally
2009-10-06 19:55:35 -07:00
Melanie 89d23a1fa2 Revert "Rewrote parts of the code that were double-locking different objects. This is about half of the code base reviewed."
This reverts commit e992ca0255.
2009-10-07 01:45:49 +01:00
Melanie 9618c196c2 Revert "Merging in diva's locking fixes"
This reverts commit 832cc68513.
2009-10-07 01:44:36 +01:00
John Hurliman 832cc68513 Merging in diva's locking fixes 2009-10-06 15:54:00 -07:00
Diva Canto e992ca0255 Rewrote parts of the code that were double-locking different objects. This is about half of the code base reviewed. 2009-10-06 15:39:53 -07:00
Justin Clark-Casey (justincc) 99c85b5ef5 * Change some more default ports to the robust default of 8003
* Make these use existing constants rather than hardcoding
* These will probably go away soon anyway once all services are under ROBUST
2009-10-06 20:32:33 +01:00
John Hurliman fa6027aa09 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim into htb-throttle 2009-10-06 12:15:24 -07:00
John Hurliman fb19d1ca0a * Try/catch around EndInvoke() when Util.FireAndForget() returns to catch exceptions thrown in the async method
* Added packet stats handling to the new LLUDP implementation
* Attempting to avoid a race condition when creating a new LLUDPClient
2009-10-06 10:12:59 -07:00
Diva Canto e474fc2fdb Corrected words in error message. 2009-10-06 08:50:25 -07:00
John Hurliman 2519f071f2 Fixing a few compile errors in the previous commit 2009-10-06 02:50:59 -07:00
John Hurliman e7c877407f * Continued work on the new LLUDP implementation. Appears to be functioning, although not everything is reimplemented yet
* Replaced logic in ThreadTracker with a call to System.Diagnostics that does the same thing
* Added Util.StringToBytes256() and Util.StringToBytes1024() to clamp output at byte[256] and byte[1024], respectively
* Fixed formatting for a MySQLAssetData error logging line
2009-10-06 02:38:00 -07:00
John Hurliman 7ddb6fbced Merge branch 'master' of ssh://opensimulator.org/var/git/opensim into htb-throttle 2009-10-05 17:38:27 -07:00
John Hurliman 429a84f390 Beginning work on the new LLUDP implementation 2009-10-05 17:38:14 -07:00
Diva Canto 2753f4d62c * GridServerPostHandler.cs: Try/catch in Handle
* BaseOpenSimServer.cs: Added thread pool numbers in show threads
2009-10-05 16:06:21 -07:00
Diva Canto 75b35ddf4a More error messages to warn when/if things go wrong. 2009-10-05 09:18:51 -07:00
Diva Canto 30aac00f6b Closing more streams even if things fail. 2009-10-04 10:12:19 -07:00
Diva Canto f21f3727df Leaving the MemoryStreams unclosed. 2009-10-04 09:20:01 -07:00
Melanie 6878b26b0d Merge branch 'diva-textures-osgrid' 2009-10-04 05:49:16 +01:00
Diva Canto 2d9c27a28f Slightly better message with status code for WebException. 2009-10-03 20:18:21 -07:00
Diva Canto b6920267f0 Close was being called to early on the Memory stream. 2009-10-03 16:27:55 -07:00
Diva Canto df7049008a More streams closed. 2009-10-03 08:57:30 -07:00
Diva Canto e1112ff879 MOre streams closed. Corrected word in GridCommon.ini.example 2009-10-03 08:46:06 -07:00
Diva Canto 4843edfeb7 Closing more streams. 2009-10-03 08:33:19 -07:00
Diva Canto 006dfd6d9a Closing another stream. 2009-10-02 20:35:15 -07:00
John Hurliman 387e9f7a7f * Creates Util.UTF8 and switches some references of Encoding.UTF8 to Util.UTF8 (not all references were switched since not all OpenSim libraries reference OpenSim.Framework)
* Shrinks the largest in-memory object, the LLRAW.HeightmapLookupValue struct (only used for exporting to LLRAW terrain files), to the minimum possible size. This seems to have the odd side effect of cutting the size of the two double[256,256] terrain objects in half. Possibly an alignment optimization?
2009-10-02 18:31:08 -07:00
Diva Canto e66321227e Close streams in MakeRequest. 2009-10-02 16:23:46 -07:00
Melanie 73fa409318 Merge branch 'diva-textures-osgrid' 2009-10-02 23:25:17 +01:00
Melanie ce8974539e Merge branch 'master' into diva-textures 2009-10-02 19:03:22 +01:00
dr scofield (aka dirk husemann) 2107b67f1b - cleaning up LandData/ILandObject capitalization issues
- adding LandDataSerializer to OAR mechanics
2009-10-02 11:31:30 +02:00
Melanie 31d8cec0f8 Merge branch 'master' into diva-textures 2009-10-02 08:23:38 +01:00
dr scofield (aka dirk husemann) 133a4a9906 - adding new LandDataSerializer testcase to "test-xml" target as well
- adding another LandDataSerializer testcase
2009-10-01 15:03:16 +02:00
dr scofield (aka dirk husemann) 05da73c300 fixing LandDataSerializer (yeah! for testcases) 2009-10-01 12:01:41 +02:00
dr scofield (aka dirk husemann) 18416ec518 Merge branch 'oar-parcel' into x-opensim 2009-10-01 10:30:43 +02:00
dr scofield (aka dirk husemann) 77ed8e977a adding meat to the LandDataSerializerTest cases. 2009-10-01 10:30:26 +02:00
dr scofield (aka dirk husemann) 5b378a793b Merge branch 'oar-parcel' into x-opensim 2009-10-01 09:48:30 +02:00
dr scofield (aka dirk husemann) 40cf840df2 adding testcase for LandDataSerializer; fixing LandDataSerializer ;-) 2009-10-01 09:47:45 +02:00
James J Greensky 44776fea72 Fixing LLClientView memory leak
Fixing LLClientView memory leak by disposing of all timers utilized
in LLClientView as they contain references to the callback method.
This required the use of the Terminate and Close infrastructure that
was already in place but was not being utilized.
2009-10-01 04:11:32 +01:00
Jeff Ames 606e831ff5 Formatting cleanup. 2009-10-01 09:38:36 +09:00
John Hurliman 5dfd2643df * Change the signature of the agent set appearance callback to prevent unnecessary serialization/deserialization of TextureEntry objects and allow TextureEntry to be inspected for missing bakes
* Inspect incoming TextureEntry updates for bakes that do not exist on the simulator and request the missing textures
* Properly handle appearance updates that do not have a TextureEntry set
2009-09-30 15:53:03 -07:00
Melanie 79ba96ad6f Limit the number of packet data blocks to 50, as packets are already limited
This is enough to prevent the fast back and forth of allocation and release
the pool is meant to prevent, but not too much so we don't hog memory
2009-09-30 21:33:29 +01:00
Melanie 400abed271 Add RebakeAvatarTexturesPacket to the client view 2009-09-30 21:33:20 +01:00
Melanie 41e4f3afdb Remove some tests that no longer apply 2009-09-30 19:14:58 +01:00
Jeff Ames ee205e7e81 Formatting cleanup. 2009-10-01 01:17:47 +09:00
dr scofield (aka dirk husemann) 33515c75e4 adding LandDataSerializer (not connected anywhere, work-in-progress)
[hi, there, justin!]
2009-09-30 16:19:39 +02:00
Melanie 1006a2254c Make create user to the Right Thing with regard to salting user passwords 2009-09-30 13:36:03 +01:00
Jeff Ames 77f5e41631 Remove empty CheckSumServer.cs file. 2009-09-29 21:21:53 +09:00
Melanie 0709149313 Merge branch 'grid-service-redux' 2009-09-28 23:03:47 +01:00
Melanie 7cd03abab5 Bump main version to 0.6.8-Dev 2009-09-28 18:41:21 +01:00
Diva Canto 69da82b39f Bug fix in SynchronousRestFormsRequester -- Write instead of WriteLine, which was causing an extra \n to be written into the buffer. 2009-09-28 06:44:57 -07:00
Diva Canto 0f05bbb4a2 Deleted some files that aren't being used anymore. 2009-09-28 05:54:37 -07:00
Diva Canto 5d09c53a1a Unpacking the mess with OtherRegionUp, so we can have a real cache of the neighbours in the grid service modules. 2009-09-27 10:14:10 -07:00
Diva Canto 68e40a87ca Poof! on LocalBackend. CommsManager.GridServices deleted. 2009-09-26 21:29:54 -07:00
Diva Canto f4bf581b96 Moved all HG1 operations to HGGridConnector.cs and HypergridServerConnector.cs/HypergridServiceConnector.cs, away from Region.Communications and HGNetworkServersInfo.
Fixed small bugs with hyperlinked regions' map positions.
2009-09-26 21:00:51 -07:00
Diva Canto 632bb71262 Fixed MapBlocks bug, wrong order of arguments. First version that seems completely functional.
Also fixed the notification of the message server in standalone -- that server doesn't usually exist.
2009-09-26 08:49:48 -07:00
Diva Canto 5757afe766 First pass at the heart surgery for grid services. Compiles and runs minimally. A few bugs to catch now. 2009-09-26 07:48:21 -07:00
Diva Canto dd3d52ae1f Added test GridClient, which allowed me to remove a few bugs out of the new code. 2009-09-24 13:33:58 -07:00
Justin Clark-Casey (justincc) ad753d784c Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim 2009-09-24 17:35:03 +01:00
Justin Clark-Casey (justincc) e67341f24c minor: replace xmlprc 'no method found' magic number with constant from xmlrpc library 2009-09-24 15:02:55 +01:00
Justin Clark-Casey (justincc) 7870152d23 Allow load/save iar password checks to be done in grid mode
This should allow load/save iar to work for grid mode as long as the grid user service is later than this revision
Grid services of earlier revisions will always erroneously report incorrect password.  This will be addressed shortly.
2009-09-24 14:54:12 +01:00
Adam Frisby 71a4b02c7e * Minor commit, added two new math utility functions. 2009-09-24 20:56:01 +10:00
Diva Canto b8f039897b Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2009-09-23 15:40:35 -07:00
Justin Clark-Casey (justincc) 03438f7d44 minor: remove double initialization of user appearance module in Grid.UserServer.Main 2009-09-23 16:24:26 +01:00
Diva Canto 882d2c9cc3 Added hg console commands to the module.
Added the IN connector module for link-region and corresponding handler to be used in the regions only. No service as such is needed.
This will replace the current link-region machinery. Compiles but not tested.
2009-09-22 20:25:00 -07:00
Diva Canto ffd30b8ac3 Moved RegionName from RegionInfo to SimpleRegionInfo. 2009-09-22 14:46:05 -07:00
Melanie 97c18caa76 Thank you, Intari, for a patch that implements the missing pieces of
Http-in and makes the host name for URL generation configurable.
Applied with changes:
llGetSimulatorHostname was not changed, because the change breaks
existing behavior and carries a data exposure risk. That value needs
to be configurable, the proposed fixed change is not acceptable.
2009-09-22 17:04:34 +01:00
Melanie dafe5bf05f Completely remove the prior implementation of the request event handling
on poll handlers. Introduce a new delegate on the PollServiceEventArgs that
allow access to the request headers and body.
2009-09-22 06:19:02 +01:00
Melanie c5be401d46 Remove support for executing a handler on poll. It caused other issues 2009-09-22 05:24:22 +01:00
Melanie 06871d51dd Disable the handler execution for poll services until the ramifications
can be studied
2009-09-22 05:13:50 +01:00
Melanie b6b8a18d37 Add the headers collection to the keysvals for HTT requests 2009-09-21 20:21:01 +01:00
Melanie 61aaf3532a Add X-PollServiceID pseudo-header to the request handling for polls 2009-09-21 20:10:26 +01:00
Melanie 69b76acce1 Make the poll service handler call the handler method on incoming requests. 2009-09-21 19:46:29 +01:00
Melanie 5511c62580 Merge branch 'master' of ssh://melanie@opensimulator.org/var/git/opensim 2009-09-21 18:12:12 +01:00
Diva Canto 6d0e7b6a6c Merge branch 'master' of ssh://diva@opensimulator.org/var/git/opensim 2009-09-21 11:05:20 -07:00
Diva Canto 390137d540 Added grid handler and grid remote connector. 2009-09-21 11:05:01 -07:00
Melanie bc9e4cfd96 Add a RequestID (UUID.Random()) to the PollRequest and pass it to all
even hander delegates.
2009-09-21 18:11:40 +01:00
Melanie 04170521f0 Add a UUID param to NoEvents in PollServiceEventArgs to make it more generic 2009-09-21 14:59:31 +01:00
Melanie 2a1b5e3540 A small fix for remote console to accommodate PollServiceArgs behavior a
bit better
2009-09-21 14:14:22 +01:00
Melanie 2d9d25b367 Add the skeleton of the authentication connector and the forms data requester 2009-09-19 17:33:57 +01:00
Melanie 6461243e7c Remove the methods for full inventory fetch from the connector. Remove tests
for the old, removed asset handlers
2009-09-17 23:55:06 +01:00
Melanie 6779abf7f5 Remove The legacy inventory and asset servers. Bump interface version to 6 2009-09-17 23:39:58 +01:00
Rob Smart 44f1092b83 moved AuthorizationRequest and AuthorizationResponse to IAuthorizationService to keep service dependencies together. 2009-09-11 09:23:09 -07:00
Rob Smart eaec7cf39c Changed RemoteAuthorizationServiceConnector so that it implements the IAuthorization interface method isAuthorizedForRegion looks up user and region data and delegates the remote authorization check to the AuthorizationServiceConnector
This keeps the IAuthorization as clean as possible and moves the dependency of using a UserProfileData object out to the connector from the scene.
2009-09-11 06:50:24 -07:00
Diva Canto ce332f235c Changed the interface of IAuthorizationService to get less data. 2009-09-10 19:56:08 -07:00
Rob Smart b5c8925fdf added AuthorizationRequest and AuthorizationResponse objects for passing Authorization messages over http. Added handling code for these in the AuthorizationServerConnector and AuthorizationServicesConnector 2009-09-10 17:53:05 -07:00
Justin Clark-Casey (justincc) 552ba5334f Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim 2009-09-10 18:14:34 +01:00
Justin Clark-Casey (justincc) f5feb25dd1 fix spurious loading... messages on iar load by creating folders as version 1 rather than version 0 2009-09-10 17:08:26 +01:00
Melanie 0034dd043f Many databases contain folders with invalid folder ID. Folder IDs are
supposed to be within -1 .. 22 and other values break inventory loading.
This patch fixes it and allows inventory to load. Invalid folder types
will be treated as ordinary folders.
2009-09-10 00:33:00 +01:00
Justin Clark-Casey (justincc) 0683cf6e0d Add test to check behaviour if an iar is loaded where no user profile exists for the creators
Disable generation of temporary profiles for now, instead record loading user as creator
2009-09-09 18:03:49 +01:00
Justin Clark-Casey (justincc) b7256f2567 extend load iar test to loading into a deeply nested directory
correct bug associated with this
2009-09-08 17:42:07 +01:00
Adam Frisby 5e4b7be712 * Typo in previous commit. 2009-09-06 21:53:03 +10:00
Adam Frisby 25313c2105 * Debugging why region loading is occurring so slowly on a setup with 64 regions in a Regions.ini (took 38 minutes on my test box) 2009-09-06 21:52:11 +10:00
dr scofield (aka dirk husemann) f23f7b1fc4 preparing LandData seriali(s|z)ation into OAR [not yet functional] 2009-09-04 10:12:36 +02:00
John Hurliman 584c113836 Added Util.FireAndForget(), to replace leaking calls to Delegate.BeginInvoke() 2009-09-03 12:27:23 -07:00
Melanie 8e7b385883 Merge branch 'master' of ssh://melanie@opensimulator.org/var/git/opensim 2009-09-02 16:29:50 +01:00
Melanie 65d7644993 Correct the icons on wearables in agent inventory. To fully correct the issue
immediately, run
update inventoryfolders set version=version+1;
2009-09-02 16:27:08 +01:00
dr scofield (aka dirk husemann) 05756e1fb9 warnings safari. 2009-09-02 11:06:18 +02:00
Melanie 994c5e2094 Prevent the Viewer's threaded inventory retrieval causing a OOM and overload
the inventory server by serializing upstream requests.
2009-09-02 05:04:24 +01:00
Melanie 976cf4284b Fix up WebFetchInventoryDescendents to really return all data needed,
especially the folder version and the subfolders. Fixes inventory search
hang and folders not loading.
2009-08-29 03:26:44 +01:00
Melanie 22a0dff226 Modify CAPS inventory code. Currently this is not executed 2009-08-28 23:28:32 +01:00
Justin Clark-Casey (justincc) d649194be3 minor: formatting and comments 2009-08-28 12:52:40 +01:00
Teravus Ovares (Dan Olivares) 6f077d5e5f * Another attempt at fixing the random spurious test error.
* This time it might be the listening socket thread from HttpServer aborting with a non blocking thread abort exception.   Hopefully calling Stop() on MainServer.Instance will solve that.
2009-08-26 21:05:46 -04:00
Melanie 8a9d168928 Add try/catch around EQ request processing
Fixes Mantis #4061
2009-08-26 14:46:10 +01:00
Jeff Ames 02f937b0dc Fix some compile warnings. 2009-08-26 14:02:52 +09:00
Teravus Ovares (Dan Olivares) 5f794d3e59 A slightly modified version of
http://opensimulator.org/mantis/view.php?id=4040 by jhurliman.    The patch didn't match up, so I winged it here.   My effort to manually merge the patch seems to make sense, so I'm going to commit it.
2009-08-25 17:36:04 -04:00
Diva Canto cfd9cf7b18 Closed the web request and stream in SynchronousRestSessionObjectPoster -- maybe this is the cause of some timeouts seen in some monos? 2009-08-25 06:17:36 -07:00
Melanie 1e4238af92 Merge branch 'master' of ssh://melanie@opensimulator.org/var/git/opensim 2009-08-22 20:18:56 +01:00
Melanie a22b12ecd4 Change prompt handling in console. No user changes 2009-08-22 20:18:24 +01:00
Diva Canto b03eeeb9f6 * Fixes mantis http://opensimulator.org/mantis/view.php?id=4044. Turns out folders were never being removed from trash when they were singled out for purging in trash. They were being removed when Trash was purged as a whole. That behavior is now fixed for the new InventoryService set.
* Removed left-overs from AssetInventoryServer.
2009-08-22 10:24:26 -07:00