aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueManager.cs
diff options
context:
space:
mode:
authorTedd Hansen2007-12-30 16:32:29 +0000
committerTedd Hansen2007-12-30 16:32:29 +0000
commit7ef09a12020f1665bcd4e99fd420d411d5f4d95d (patch)
tree6953b5ce873ee73d96bd9b4a404f15d151f61865 /OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueManager.cs
parent* re-applied AddNewPrim refactoring... third time now... (diff)
downloadopensim-SC_OLD-7ef09a12020f1665bcd4e99fd420d411d5f4d95d.zip
opensim-SC_OLD-7ef09a12020f1665bcd4e99fd420d411d5f4d95d.tar.gz
opensim-SC_OLD-7ef09a12020f1665bcd4e99fd420d411d5f4d95d.tar.bz2
opensim-SC_OLD-7ef09a12020f1665bcd4e99fd420d411d5f4d95d.tar.xz
Added comments to ScriptEngine classes that explains what their purpose is
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueManager.cs22
1 files changed, 22 insertions, 0 deletions
diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueManager.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueManager.cs
index 2d0d69d..e2b11cc 100644
--- a/OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueManager.cs
+++ b/OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueManager.cs
@@ -44,6 +44,28 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
44 [Serializable] 44 [Serializable]
45 internal class EventQueueManager 45 internal class EventQueueManager
46 { 46 {
47
48 //
49 // Class is instanced in "ScriptEngine" and used by "EventManager" also instanced in "ScriptEngine".
50 //
51 // Class purpose is to queue and execute functions that are received by "EventManager":
52 // - allowing "EventManager" to release its event thread immediately, thus not interrupting server execution.
53 // - allowing us to prioritize and control execution of script functions.
54 // Class can use multiple threads for simultaneous execution. Mutexes are used for thread safety.
55 //
56 // 1. Hold an execution queue for scripts
57 // 2. Use threads to process queue, each thread executes one script function on each pass.
58 // 3. Catch any script error and process it
59 //
60 //
61 // Notes:
62 // * Current execution load balancing is optimized for 1 thread, and can cause unfair execute balancing between scripts.
63 // Not noticeable unless server is under high load.
64 // * This class contains the number of threads used for script executions. Since we are not microthreading scripts yet,
65 // increase number of threads to allow more concurrent script executions in OpenSim.
66 //
67
68
47 /// <summary> 69 /// <summary>
48 /// List of threads processing event queue 70 /// List of threads processing event queue
49 /// </summary> 71 /// </summary>