John Hurliman
							
						 
						
							 
							
							
							
								
							
								37f7277378 
								
							
								 
							
						 
						
							
							
								
								Uncommented the resend log line so the previous commit can be seen in action  
							
							 
							
							
							
						 
						
							2009-10-23 01:33:43 -07:00  
						
					 
				
					
						
							
							
								 
								John Hurliman
							
						 
						
							 
							
							
							
								
							
								ac0acb0296 
								
							
								 
							
						 
						
							
							
								
								* Changed the max RTO value to 60 seconds to comply with RFC 2988  
							
							 
							
							... 
							
							
							
							* Implemented section 5.5, exponential backoff of the RTO after a resend 
							
						 
						
							2009-10-23 01:33:05 -07:00  
						
					 
				
					
						
							
							
								 
								John Hurliman
							
						 
						
							 
							
							
							
								
							
								53bf479bab 
								
							
								 
							
						 
						
							
							
								
								Commented out noisy debugging about resent packets (normal) and agents setting throttles (normal)  
							
							 
							
							
							
						 
						
							2009-10-23 01:11:40 -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
							
						 
						
							 
							
							
							
								
							
								96d53f11e5 
								
							
								 
							
						 
						
							
							
								
								Added VS2010 support to Prebuild and created runprebuild2010.bat  
							
							 
							
							
							
						 
						
							2009-10-22 17:03:13 -07:00  
						
					 
				
					
						
							
							
								 
								Teravus Ovares (Dan Olivares)
							
						 
						
							 
							
							
							
								
							
								f34e8adffb 
								
							
								 
							
						 
						
							
							
								
								* Moved Copyrights above the comments in ODEPrim and ODEDynamics so they're consistent with the rest (and so chi11ken's auto copyright adding script doesn't duplicate the copyright.  
							
							 
							
							
							
						 
						
							2009-10-22 18:28:42 -04: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
							
						 
						
							 
							
							
							
								
							
								4ba3842d71 
								
							
								 
							
						 
						
							
							
								
								Forgot to hit save in the last commit  
							
							 
							
							
							
						 
						
							2009-10-22 13:24:24 -07:00  
						
					 
				
					
						
							
							
								 
								John Hurliman
							
						 
						
							 
							
							
							
								
							
								167d8e39fa 
								
							
								 
							
						 
						
							
							
								
								* Sending (position - hipoffset) instead of position  
							
							 
							
							... 
							
							
							
							* Sending m_rotation instead of m_bodyRot in full updates to match terse updates (no idea which one is right!) 
							
						 
						
							2009-10-22 13:14:41 -07:00  
						
					 
				
					
						
							
							
								 
								John Hurliman
							
						 
						
							 
							
							
							
								
							
								a16c3bf446 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of ssh://opensimulator.org/var/git/opensim  
							
							 
							
							
							
						 
						
							2009-10-22 12:34:47 -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  
						
					 
				
					
						
							
							
								 
								KittoFlora
							
						 
						
							 
							
							
							
								
							
								91084653bd 
								
							
								 
							
						 
						
							
							
								
								Commented out instrumentation in ODEPrim.cs  
							
							 
							
							
							
						 
						
							2009-10-22 21:14:00 +02:00  
						
					 
				
					
						
							
							
								 
								KittoFlora
							
						 
						
							 
							
							
							
								
							
								227c832d3b 
								
							
								 
							
						 
						
							
							
								
								Commented out instrumentation in ODEPrim.cs  
							
							 
							
							
							
						 
						
							2009-10-22 19:15:35 +01:00  
						
					 
				
					
						
							
							
								 
								John Hurliman
							
						 
						
							 
							
							
							
								
							
								11013ad295 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of ssh://opensimulator.org/var/git/opensim  
							
							 
							
							
							
						 
						
							2009-10-22 11:07:43 -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  
						
					 
				
					
						
							
							
								 
								John Hurliman
							
						 
						
							 
							
							
							
								
							
								4121a02936 
								
							
								 
							
						 
						
							
							
								
								OpenSim.ini.example had the wrong names for default values in the [InterestManagement] section. Fixed  
							
							 
							
							
							
						 
						
							2009-10-22 10:15:28 -07:00  
						
					 
				
					
						
							
							
								 
								Melanie
							
						 
						
							 
							
							
							
								
							
								5d12170df9 
								
							
								 
							
						 
						
							
							
								
								Correct version number after merge  
							
							 
							
							
							
						 
						
							2009-10-22 17:41:42 +01:00  
						
					 
				
					
						
							
							
								 
								Melanie
							
						 
						
							 
							
							
							
								
							
								fc4ff09181 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'vehicles'  
							
							 
							
							
							
						 
						
							2009-10-22 17:39:19 +01:00  
						
					 
				
					
						
							
							
								 
								Snowcrash
							
						 
						
							 
							
							
							
								
							
								84ac0f56f5 
								
							
								 
							
						 
						
							
							
								
								Fixing the patch to the patch  
							
							 
							
							
							
						 
						
							2009-10-22 17:36:52 +01:00  
						
					 
				
					
						
							
							
								 
								Snowcrash
							
						 
						
							 
							
							
							
								
							
								47d8b6c5f5 
								
							
								 
							
						 
						
							
							
								
								Fix rounding error in PRIM_SIZE portion of llSetPrimitiveParams  
							
							 
							
							
							
						 
						
							2009-10-22 17:36:49 +01:00  
						
					 
				
					
						
							
							
								 
								Jeff Ames
							
						 
						
							 
							
							
							
								
							
								d756fa01ae 
								
							
								 
							
						 
						
							
							
								
								Add copyright header.  Formatting cleanup.  
							
							 
							
							
							
						 
						
							2009-10-22 18:57:24 +09: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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								c4969d47d9 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into vehicles  
							
							 
							
							
							
						 
						
							2009-10-22 07:12:10 +01: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
							
						 
						
							 
							
							
							
								
							
								624af66c35 
								
							
								 
							
						 
						
							
							
								
								Make the LSL scripting delays take full effect. To tune, tweat the  
							
							 
							
							... 
							
							
							
							ScriptDelayFactor in config 
							
						 
						
							2009-10-22 05:42:34 +01: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
							
						 
						
							 
							
							
							
								
							
								4e04f6b3a5 
								
							
								 
							
						 
						
							
							
								
								* Clarified what FireQueueEmpty is doing with a MIN_CALLBACK_MS constant and upped it to 30ms  
							
							 
							
							... 
							
							
							
							* Removed the unused PacketSent() function
* Switched UnackedPacketCollection from a SortedDictionary to a Dictionary now that the sorting is no longer needed. Big performance improvement for ResendUnacked() 
							
						 
						
							2009-10-21 17:02:55 -07:00  
						
					 
				
					
						
							
							
								 
								John Hurliman
							
						 
						
							 
							
							
							
								
							
								2b39ff0a39 
								
							
								 
							
						 
						
							
							
								
								Merged master into prioritization  
							
							 
							
							
							
						 
						
							2009-10-21 16:24:17 -07:00  
						
					 
				
					
						
							
							
								 
								John Hurliman
							
						 
						
							 
							
							
							
								
							
								b06f258319 
								
							
								 
							
						 
						
							
							
								
								* FireQueueEmpty now checks if a measurable amount of time has passed, and if not it sleeps for a small amount of time. This throttles OnQueueEmpty calls where there is no callback or the callback is doing very little work  
							
							 
							
							... 
							
							
							
							* Changed HandleQueueEmpty()'s Monitor.TryEnter() calls to locks. We want to take our time in this function and do all the work necessary, since returning too fast will induce a sleep anyways 
							
						 
						
							2009-10-21 16:21:08 -07:00  
						
					 
				
					
						
							
							
								 
								John Hurliman
							
						 
						
							 
							
							
							
								
							
								2752a3525c 
								
							
								 
							
						 
						
							
							
								
								* Changed the timing calculations for sending resends/acks/pings from per-client back to per-scene  
							
							 
							
							... 
							
							
							
							* Testing a fix from Jim to make the cpu usage fix cleaner 
							
						 
						
							2009-10-21 15:22:23 -07:00  
						
					 
				
					
						
							
							
								 
								John Hurliman
							
						 
						
							 
							
							
							
								
							
								62f1bfd136 
								
							
								 
							
						 
						
							
							
								
								Testing out a hack to identify the source of the high cpu usage  
							
							 
							
							
							
						 
						
							2009-10-21 14:25:22 -07:00  
						
					 
				
					
						
							
							
								 
								John Hurliman
							
						 
						
							 
							
							
							
								
							
								bb4da417ad 
								
							
								 
							
						 
						
							
							
								
								Removing the Sleep(0) call from the OutgoingPacketHandler  
							
							 
							
							
							
						 
						
							2009-10-21 14:03:49 -07:00  
						
					 
				
					
						
							
							
								 
								John Hurliman
							
						 
						
							 
							
							
							
								
							
								7ee422a344 
								
							
								 
							
						 
						
							
							
								
								* Handle UseCircuitCode packets asynchronously. Adding an agent to a scene can take several seconds, and was blocking up packet handling in the meantime  
							
							 
							
							... 
							
							
							
							* Clamp retransmission timeout values between three and 10 seconds
* Log outgoing time for a packet right after it is sent instead of well before
* Loop through the entire UnackedPacketCollection when looking for expired packets 
							
						 
						
							2009-10-21 13:47:16 -07:00  
						
					 
				
					
						
							
							
								 
								Melanie
							
						 
						
							 
							
							
							
								
							
								d88bb83136 
								
							
								 
							
						 
						
							
							
								
								Fix llParticleSystem to accept LSL variables and LSL constants in place  
							
							 
							
							... 
							
							
							
							of the named constants for the rule selector.
Information provided by Snowcrash 
							
						 
						
							2009-10-21 20:47:24 +01:00  
						
					 
				
					
						
							
							
								 
								John Hurliman
							
						 
						
							 
							
							
							
								
							
								9178537e94 
								
							
								 
							
						 
						
							
							
								
								* Replaced the UnackedPacketCollection with a lockless implementation. The tiny amount of time spent in the locks turned into a lot of time when the rest of the LLUDP implementation went lockless  
							
							 
							
							... 
							
							
							
							* Changed the timer tracking numbers for each client to not have "memory". It will no longer queue up calls to functions like ResendUnacked
* Reverted Jim's WaitHandle code. Although it was technically more correct, it exhibited the exact same behavior as the old code but spent more cycles. The 20ms has been replaced with the minimum amount of time before a token bucket could receive a drip, and an else { sleep(0); } was added to make sure the outgoing packet handler always yields at least a minimum amount 
							
						 
						
							2009-10-21 11:59:48 -07:00  
						
					 
				
					
						
							
							
								 
								Melanie
							
						 
						
							 
							
							
							
								
							
								8dd15fd5a5 
								
							
								 
							
						 
						
							
							
								
								Patch by mcortez: Remove lock from scene presence updating in groups module  
							
							 
							
							
							
						 
						
							2009-10-21 18:45:37 +01:00  
						
					 
				
					
						
							
							
								 
								John Hurliman
							
						 
						
							 
							
							
							
								
							
								c0c845aea4 
								
							
								 
							
						 
						
							
							
								
								Fixed the way OnQueueEmpty is called to prevent simultaneous calls for the same category  
							
							 
							
							
							
						 
						
							2009-10-21 01:07:40 -07:00  
						
					 
				
					
						
							
							
								 
								John Hurliman
							
						 
						
							 
							
							
							
								
							
								cde47c2b3d 
								
							
								 
							
						 
						
							
							
								
								Committing Jim's optimization to replace the 20ms sleep in outgoing packet handling with an interruptible wait handle  
							
							 
							
							
							
						 
						
							2009-10-21 00:18:35 -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
							
						 
						
							 
							
							
							
								
							
								45dc4e0a54 
								
							
								 
							
						 
						
							
							
								
								* Added a sanity check to GetScriptAssemblies() and GetScriptStates() for the case where no scripting engine is enabled  
							
							 
							
							... 
							
							
							
							* Added TokenBucket.cs to OpenSim, with some fixes for setting a more accurate MaxBurst value and getting a more accurate Content value (by Drip()ing each get) 
							
						 
						
							2009-10-20 18:19:17 -07:00  
						
					 
				
					
						
							
							
								 
								John Hurliman
							
						 
						
							 
							
							
							
								
							
								1833c69568 
								
							
								 
							
						 
						
							
							
								
								* Removed the unused m_agentUpdates collection and some extra work that was being done for AgentUpdate packets  
							
							 
							
							... 
							
							
							
							* Start LLUDPClients unpaused (this variable is not being used yet) 
							
						 
						
							2009-10-20 15:19:19 -07:00  
						
					 
				
					
						
							
							
								 
								John Hurliman
							
						 
						
							 
							
							
							
								
							
								d38f33736c 
								
							
								 
							
						 
						
							
							
								
								* Removed the throttle speed optimizations to see if it brings stability back  
							
							 
							
							... 
							
							
							
							* Changed the outgoing packet handler to use a real function instead of a closure and to track time on a per-client basis instead of a global basis 
							
						 
						
							2009-10-20 14:41:20 -07:00