diff options
author | MW | 2007-05-26 13:40:19 +0000 |
---|---|---|
committer | MW | 2007-05-26 13:40:19 +0000 |
commit | 3436961bb5c01d659d09be134368f4f69460cef9 (patch) | |
tree | 3753ba4d7818df2a6bce0bbe863ff033cdfd568a /OpenGridServices/OpenGrid.Framework.Manager/GridServerManager.cs | |
download | opensim-SC-3436961bb5c01d659d09be134368f4f69460cef9.zip opensim-SC-3436961bb5c01d659d09be134368f4f69460cef9.tar.gz opensim-SC-3436961bb5c01d659d09be134368f4f69460cef9.tar.bz2 opensim-SC-3436961bb5c01d659d09be134368f4f69460cef9.tar.xz |
Start of rewrite 5279!
Diffstat (limited to 'OpenGridServices/OpenGrid.Framework.Manager/GridServerManager.cs')
-rw-r--r-- | OpenGridServices/OpenGrid.Framework.Manager/GridServerManager.cs | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/OpenGridServices/OpenGrid.Framework.Manager/GridServerManager.cs b/OpenGridServices/OpenGrid.Framework.Manager/GridServerManager.cs new file mode 100644 index 0000000..7ebf66a --- /dev/null +++ b/OpenGridServices/OpenGrid.Framework.Manager/GridServerManager.cs | |||
@@ -0,0 +1,50 @@ | |||
1 | using System; | ||
2 | using System.Collections; | ||
3 | using System.Collections.Generic; | ||
4 | using Nwc.XmlRpc; | ||
5 | using System.Threading; | ||
6 | using libsecondlife; | ||
7 | |||
8 | namespace OpenGrid.Framework.Manager { | ||
9 | |||
10 | public class GridServerManager | ||
11 | { | ||
12 | public static GridManagerCallback thecallback; | ||
13 | |||
14 | public static string sendkey; | ||
15 | public static string recvkey; | ||
16 | |||
17 | public static XmlRpcResponse XmlRpcShutdownMethod(XmlRpcRequest request) | ||
18 | { | ||
19 | XmlRpcResponse response = new XmlRpcResponse(); | ||
20 | Hashtable requestData = (Hashtable)request.Params[0]; | ||
21 | Hashtable responseData = new Hashtable(); | ||
22 | |||
23 | if(requestData.ContainsKey("session_id")) { | ||
24 | if(GridManagementAgent.SessionExists(new LLUUID((string)requestData["session_id"]))) { | ||
25 | responseData["msg"]="Shutdown command accepted"; | ||
26 | (new Thread(new ThreadStart(ZOMGServerIsNowTerminallyIll))).Start(); | ||
27 | } else { | ||
28 | response.IsFault=true; | ||
29 | responseData["error"]="bad session ID"; | ||
30 | } | ||
31 | } else { | ||
32 | response.IsFault=true; | ||
33 | responseData["error"]="no session ID"; | ||
34 | } | ||
35 | |||
36 | response.Value = responseData; | ||
37 | return response; | ||
38 | } | ||
39 | |||
40 | // Brought to by late-night coding | ||
41 | public static void ZOMGServerIsNowTerminallyIll() | ||
42 | { | ||
43 | Console.WriteLine("ZOMG! THIS SERVER IS TERMINALLY ILL - WE GOT A SHUTDOWN REQUEST FROM A GRID MANAGER!!!!"); | ||
44 | Console.WriteLine("We have 3 seconds to live..."); | ||
45 | Thread.Sleep(3000); | ||
46 | thecallback("shutdown"); | ||
47 | } | ||
48 | } | ||
49 | } | ||
50 | |||