Commit Graph

3515 Commits

Author SHA1 Message Date
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