diff options
author | David Walter Seikel | 2012-02-10 18:11:30 +1000 |
---|---|---|
committer | David Walter Seikel | 2012-02-10 18:11:30 +1000 |
commit | 937c87951799f5a4bcbbbaabb7e819052dcebd8a (patch) | |
tree | d61472b47f96483cc2f2279de0a4b88afb011503 /LuaSL/src | |
parent | More design notes. (diff) | |
download | SledjHamr-937c87951799f5a4bcbbbaabb7e819052dcebd8a.zip SledjHamr-937c87951799f5a4bcbbbaabb7e819052dcebd8a.tar.gz SledjHamr-937c87951799f5a4bcbbbaabb7e819052dcebd8a.tar.bz2 SledjHamr-937c87951799f5a4bcbbbaabb7e819052dcebd8a.tar.xz |
Think I sorted out what OpenSim does with script UUIDs, and that C# has suitable introspection.
Diffstat (limited to 'LuaSL/src')
-rw-r--r-- | LuaSL/src/LuaSL_runner.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/LuaSL/src/LuaSL_runner.c b/LuaSL/src/LuaSL_runner.c index 5bb5e7a..c2bb8f0 100644 --- a/LuaSL/src/LuaSL_runner.c +++ b/LuaSL/src/LuaSL_runner.c | |||
@@ -180,14 +180,18 @@ void runnerTearDown(gameGlobals *game) | |||
180 | * It's easy enough to have a watchdog thread wake up every now and then to check if any given Lua state has been hogging it's CPU for too long. | 180 | * It's easy enough to have a watchdog thread wake up every now and then to check if any given Lua state has been hogging it's CPU for too long. |
181 | * The hard part is forcing Lua states to yield cleanly, without slowing performance too much. | 181 | * The hard part is forcing Lua states to yield cleanly, without slowing performance too much. |
182 | * | 182 | * |
183 | * Identifying scripts. | 183 | * Identifying scripts. - OpenSim/Region/ScriptEngine/Interfaces/IScriptInstance.cs |
184 | * | 184 | * |
185 | * We need to be able to identify scripts so that messages can get to the right ones. Also the objects they are in. | 185 | * We need to be able to identify scripts so that messages can get to the right ones. Also the objects they are in. |
186 | * And do it all in a way that OpenSim is happy with. | 186 | * And do it all in a way that OpenSim is happy with. |
187 | * Copies of the same script in the same prim would have the same UUID, but different name, though they would run independently. | 187 | * Copies of the same script in the same prim would have the same asset UUID, but different name, though they would run independently. |
188 | * Copies of the same script in different prims could have the same UUID AND the same name. | 188 | * Copies of the same script in different prims could have the same asset UUID AND the same name. |
189 | * OpenSim seems to be using a UUID to identify single scripts, and a uint to identify single prims, when sending events for either case. | ||
190 | * The UUID is from the script item in the prims inventory. | ||
191 | * There is also an asset UUID (the one printed out on the console at script startup time) that points to the source code in the prim. | ||
192 | * Which will be identical to the asset UUID for the multiple copies of the same script. | ||
189 | * | 193 | * |
190 | * Script start, stop, reset. | 194 | * Script start, stop, reset. - OpenSim/Region/ScriptEngine/Interfaces/IScriptEngine.cs |
191 | * | 195 | * |
192 | * Scripts and users have to be able to start, stop, and reset scripts. | 196 | * Scripts and users have to be able to start, stop, and reset scripts. |
193 | * Users have to be able to see the start / stopped status of scripts from the viewer. | 197 | * Users have to be able to see the start / stopped status of scripts from the viewer. |
@@ -205,6 +209,8 @@ void runnerTearDown(gameGlobals *game) | |||
205 | * ROBUST uses HTTP for the communications, and some sort of XML, probably XML-RPC. | 209 | * ROBUST uses HTTP for the communications, and some sort of XML, probably XML-RPC. |
206 | * OpenSim has some sort of generic mechanism for talking to script engines in C#. I want to turn that into a socket based, pass textual Lua function calls, type system. | 210 | * OpenSim has some sort of generic mechanism for talking to script engines in C#. I want to turn that into a socket based, pass textual Lua function calls, type system. |
207 | * That assumes C# has some sort of semi decent introspection or reflection system. | 211 | * That assumes C# has some sort of semi decent introspection or reflection system. |
212 | * After a minimum of research, I have come to the conclusion that C# has suitable introspection, and will go ahead with my plans, leaving that problem to the C# coders. | ||
213 | * Looks like OpenSim is already using a bit of C# introspection for ll*() functions anyway. | ||
208 | * The scripts main loop can already deal with incoming commands as a string with a Lua function call in it. | 214 | * The scripts main loop can already deal with incoming commands as a string with a Lua function call in it. |
209 | * | 215 | * |
210 | * Send messages from / to Lua or C, and wait or not wait. | 216 | * Send messages from / to Lua or C, and wait or not wait. |