Commit Graph

721 Commits

Author SHA1 Message Date
Diva Canto
9e6f01321e Fixed a couple of NREs in corner cases. 2009-11-03 10:24:02 -08:00
Adam Frisby
3c0881c83c * Committing missing file from last commit. 2009-11-02 00:20:41 +11:00
Adam Frisby
838bc80ab9 * Implemented some tweaks to monitoring module.
* Output is prettier & more useful.
* Added 'Alerts' to allow rules to be constructed using Monitors to detect for events such as deadlocks. This will be translated to SNMP Traps when I get SNMP implemented.
2009-11-02 00:05:49 +11:00
Adam Frisby
711dde34e4 * Implements new 'Monitoring' system for reporting performance.
* Mostly the same set as the StatsMonitor used for Viewer notification, but exposes some new frametimes - including EventMS, PhysicsUpdateMS, LandUpdateMS; new memory monitoring - both GC.TotalMemory and Process.PrivateWorkingMemory64; also exposes ThreadCount (using System.Diagnostics.Process)
* Type 'monitor report' on the console to see output.
* SNMP Implementation forthcoming.
2009-11-01 19:37:40 +11:00
John Hurliman
7132877075 * Log progress messages when loading OAR files with a lot of assets
* Change the PhysicsCollision callback for objects to send full contact point information. This will be used to calculate the collision plane for avatars
* Send the physics engine velocity in terse updates, not the current force being applied to the avatar. This should fix several issues including crouching through the floor and walking through walls
2009-10-29 01:46:58 -07: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
Diva Canto
6a6a8df1ba Make map search work also for hyperlinked regions. 2009-10-27 20:32:48 -07:00
John Hurliman
d199767e69 Experimental change of PhysicsVector to Vector3. Untested 2009-10-26 18:23: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
Melanie
1209db6dcd Thank you, RemedyTomm, for an update to your previous patch. Garbage-collect
the transfers that never happen.
2009-10-26 15:51:28 +00:00
Melanie
7df54d4ad2 Thank you, RemedyTomm, for a patch to handle Xfer requests being dropped
before the file data to be transfered is ready.
2009-10-26 04:52:11 +00:00
John Hurliman
2c34619aea * Changed various modules to not initialize timers unless the module is initialized. Ideally, the timers would not initialize unless the module was actually enabled, but Melanie's work on configuring module loading from a config file should make that unnecessary
* Wrapped the Bitmap class used to generate the world map tile in a using statement to dispose of it after the JPEG2000 data is created
2009-10-23 14:22:21 -07:00
John Hurliman
588361e2a2 Experimental change to use an immutable array for iterating ScenePresences, avoiding locking and copying the list each time it is accessed 2009-10-23 01:02:36 -07:00
John Hurliman
ba2972eaf6 * Send out m_bodyRot everywhere instead of m_rotation. Still have no clue which is right
* Fix WorldMapModule.process() to not trip the watchdog timer
2009-10-22 14:33:54 -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
5d07e18980 A synchronous call to the messaging server was blocking the process of promoting an agent to a root agent (logins and teleports). Changed to an async method 2009-10-22 02:27:06 -07: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
John Hurliman
edd393ff30 Reverting the deletion of files related to texture sending until we figure out exactly what is and isn't needed 2009-10-20 11:58:23 -07:00
John Hurliman
9a5e7222ce * Removing cruft left over from the conversion to the new texture sending and UDP code
* Changing the cache modules to only initialize the caches if they are actually enabled. Should save a bit of resources from unused cache systems
2009-10-20 10:33:23 -07: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
0d29614ca1 Formatting cleanup. 2009-10-19 08:58:03 +09:00
John Hurliman
7d6d94a7b5 More debugging of RegionCombinerModule.RegionLoaded() by making RegionLoaded() a two line function 2009-10-16 16:49:13 -07:00
John Hurliman
d44b50ee46 * Removed some of the redundant broadcast functions in Scene and SceneGraph so it is clear who/what the broadcast is going to each time
* Removed two redundant parameters from SceneObjectPart
* Changed some code in terse update sending that was meant to work with references to work with value types (since Vector3 and Quaternion are structs)
* Committing a preview of a new method for sending object updates efficiently (all commented out for now)
2009-10-15 15:25:02 -07:00
Diva Canto
cd321ec4d2 Moved some code up to AddRegion, so that other modules that depend on it don't crash. This code needs to be removed as soon as user services is refactored. 2009-10-14 19:15:11 -07:00
Melanie
d83ace0d3b Merge branch 'master' into htb-throttle 2009-10-14 05:10:43 +01:00
Teravus Ovares (Dan Olivares)
31a61bbeec * Fixes some prim crossings on megaregions with regions beyond the 512m mark
* There's a slight chance that this could cause a problem with regular prim crossings..   but hopefully not.     Revert if it does.
2009-10-13 22:03:53 -04: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
Diva Canto
c0beeb929e * Fixes http://opensimulator.org/mantis/view.php?id=4225
* Fixes http://opensimulator.org/mantis/view.php?id=3959
* Allows for viewing inventory textures outside home grid
2009-10-12 17:00:01 -07:00
Melanie
bf68dad643 0004246: [Patch] FlotsamAssetCache deep scan & cache
Thank you, mcortez.
2009-10-12 23:21:32 +01: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
Melanie
ef03b2d936 Fix selling objects 2009-10-10 10:18:16 +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
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
John Hurliman
fa6027aa09 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim into htb-throttle 2009-10-06 12:15:24 -07:00
Diva Canto
77b4abaa25 * Removed verbose debug message
* Restored HG inventory access which had been lost upon adding a 3rd argument to inventory and asset server handlers
* Fixed a stupid bug in the InventoryConnector which was making move items do things twice
2009-10-06 11:08:11 -07:00
Diva Canto
3db4d38645 Removing dependencies on System.Runtime.Remoting. 2009-10-06 09:54:15 -07:00
John Hurliman
2519f071f2 Fixing a few compile errors in the previous commit 2009-10-06 02:50:59 -07:00
Justin Clark-Casey (justincc)
2a19187e01 * minor: tweak asset cache logging levels downwards 2009-10-05 18:32:19 +01:00
Diva Canto
ad81b453b3 GetRegionByPosition: use the cache, Luke. 2009-10-05 09:02:52 -07:00
Diva Canto
362e94a022 * KeepAlive set to false in expect_user and log_off.
* Check for null SP in PermissionsModule.
2009-10-04 16:30:12 -07:00
Diva Canto
fe9cca64de Stream needs to be closed before the file can be moved... 2009-10-04 09:56:54 -07:00
Diva Canto
b803d5ab9b Make sure to close the file streams on the FlotsamCache, even if something fails. 2009-10-04 09:44:04 -07:00
Melanie
6878b26b0d Merge branch 'diva-textures-osgrid' 2009-10-04 05:49:16 +01:00
Melanie
874e423141 Fix my build break 2009-10-03 15:37:31 +01:00
Melanie
b4d1cf0009 Small permissions tweak 2009-10-03 14:22:29 +01: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