From 7f11079f57faacedc2dc8e3f2005b483e7314726 Mon Sep 17 00:00:00 2001 From: lbsa71 Date: Fri, 28 Mar 2008 21:43:46 +0000 Subject: * Refactored out common http handler operations --- OpenSim/Grid/GridServer/GridServerBase.cs | 61 ++++++++++++++----------------- 1 file changed, 27 insertions(+), 34 deletions(-) (limited to 'OpenSim/Grid/GridServer') diff --git a/OpenSim/Grid/GridServer/GridServerBase.cs b/OpenSim/Grid/GridServer/GridServerBase.cs index 884ba4f..3be98d8 100644 --- a/OpenSim/Grid/GridServer/GridServerBase.cs +++ b/OpenSim/Grid/GridServer/GridServerBase.cs @@ -45,14 +45,8 @@ namespace OpenSim.Grid.GridServer { protected GridConfig m_config; protected GridManager m_gridManager; - protected BaseHttpServer httpServer; protected List m_plugins = new List(); - public BaseHttpServer HttpServer - { - get { return httpServer; } - } - public void Work() { m_console.Notice("Enter help for a list of commands\n"); @@ -88,38 +82,37 @@ namespace OpenSim.Grid.GridServer SetupGridManager(); m_console.Status("[GRID]: Starting HTTP process"); - httpServer = new BaseHttpServer(m_config.HttpPort); - //GridManagementAgent GridManagerAgent = new GridManagementAgent(httpServer, "gridserver", m_config.SimSendKey, m_config.SimRecvKey, managercallback); + m_httpServer = new BaseHttpServer(m_config.HttpPort); - httpServer.AddXmlRPCHandler("simulator_login", m_gridManager.XmlRpcSimulatorLoginMethod); - httpServer.AddXmlRPCHandler("simulator_data_request", m_gridManager.XmlRpcSimulatorDataRequestMethod); - httpServer.AddXmlRPCHandler("simulator_after_region_moved", m_gridManager.XmlRpcDeleteRegionMethod); - httpServer.AddXmlRPCHandler("map_block", m_gridManager.XmlRpcMapBlockMethod); + AddHttpHandlers(); - // Message Server ---> Grid Server - httpServer.AddXmlRPCHandler("register_messageserver", m_gridManager.XmlRPCRegisterMessageServer); - httpServer.AddXmlRPCHandler("deregister_messageserver", m_gridManager.XmlRPCDeRegisterMessageServer); + LoadGridPlugins( ); - httpServer.AddStreamHandler(new RestStreamHandler("GET", "/sims/", m_gridManager.RestGetSimMethod)); - httpServer.AddStreamHandler(new RestStreamHandler("POST", "/sims/", m_gridManager.RestSetSimMethod)); + m_httpServer.Start(); - httpServer.AddStreamHandler(new RestStreamHandler("GET", "/regions/", m_gridManager.RestGetRegionMethod)); - httpServer.AddStreamHandler(new RestStreamHandler("POST", "/regions/", m_gridManager.RestSetRegionMethod)); + m_console.Status("[GRID]: Starting sim status checker"); - //httpServer.AddRestHandler("GET", "/sims/", m_gridManager.RestGetSimMethod); - //httpServer.AddRestHandler("POST", "/sims/", m_gridManager.RestSetSimMethod); - //httpServer.AddRestHandler("GET", "/regions/", m_gridManager.RestGetRegionMethod); - //httpServer.AddRestHandler("POST", "/regions/", m_gridManager.RestSetRegionMethod); + Timer simCheckTimer = new Timer(3600000 * 3); // 3 Hours between updates. + simCheckTimer.Elapsed += new ElapsedEventHandler(CheckSims); + simCheckTimer.Enabled = true; + } - LoadGridPlugins(); + protected void AddHttpHandlers() + { + m_httpServer.AddXmlRPCHandler("simulator_login", m_gridManager.XmlRpcSimulatorLoginMethod); + m_httpServer.AddXmlRPCHandler("simulator_data_request", m_gridManager.XmlRpcSimulatorDataRequestMethod); + m_httpServer.AddXmlRPCHandler("simulator_after_region_moved", m_gridManager.XmlRpcDeleteRegionMethod); + m_httpServer.AddXmlRPCHandler("map_block", m_gridManager.XmlRpcMapBlockMethod); - httpServer.Start(); + // Message Server ---> Grid Server + m_httpServer.AddXmlRPCHandler("register_messageserver", m_gridManager.XmlRPCRegisterMessageServer); + m_httpServer.AddXmlRPCHandler("deregister_messageserver", m_gridManager.XmlRPCDeRegisterMessageServer); - m_console.Status("[GRID]: Starting sim status checker"); + m_httpServer.AddStreamHandler(new RestStreamHandler("GET", "/sims/", m_gridManager.RestGetSimMethod)); + m_httpServer.AddStreamHandler(new RestStreamHandler("POST", "/sims/", m_gridManager.RestSetSimMethod)); - Timer simCheckTimer = new Timer(3600000*3); // 3 Hours between updates. - simCheckTimer.Elapsed += new ElapsedEventHandler(CheckSims); - simCheckTimer.Enabled = true; + m_httpServer.AddStreamHandler(new RestStreamHandler("GET", "/regions/", m_gridManager.RestGetRegionMethod)); + m_httpServer.AddStreamHandler(new RestStreamHandler("POST", "/regions/", m_gridManager.RestSetRegionMethod)); } protected void LoadGridPlugins() @@ -131,8 +124,8 @@ namespace OpenSim.Grid.GridServer ExtensionNodeList nodes = AddinManager.GetExtensionNodes("/OpenSim/GridServer"); foreach (TypeExtensionNode node in nodes) { - m_console.Status("[GRIDPLUGINS]: Loading OpenSim plugin "+node.Path); - IGridPlugin plugin = (IGridPlugin) node.CreateInstance(); + m_console.Status("[GRIDPLUGINS]: Loading OpenSim plugin " + node.Path); + IGridPlugin plugin = (IGridPlugin)node.CreateInstance(); plugin.Initialise(this); m_plugins.Add(plugin); } @@ -191,15 +184,15 @@ namespace OpenSim.Grid.GridServer public override void RunCmd(string cmd, string[] cmdparams) { base.RunCmd(cmd, cmdparams); - + switch (cmd) { case "help": m_console.Notice("shutdown - shutdown the grid (USE CAUTION!)"); - break; + break; case "shutdown": - foreach(IGridPlugin plugin in m_plugins) plugin.Close(); + foreach (IGridPlugin plugin in m_plugins) plugin.Close(); m_console.Close(); Environment.Exit(0); break; -- cgit v1.1