From 5757afe7665543e8b3ed4a322a7d6e095dafcdb3 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Sat, 26 Sep 2009 07:48:21 -0700 Subject: First pass at the heart surgery for grid services. Compiles and runs minimally. A few bugs to catch now. --- OpenSim/Region/Application/HGCommands.cs | 212 ------------------------------ OpenSim/Region/Application/OpenSim.cs | 5 - OpenSim/Region/Application/OpenSimBase.cs | 2 +- 3 files changed, 1 insertion(+), 218 deletions(-) (limited to 'OpenSim/Region/Application') diff --git a/OpenSim/Region/Application/HGCommands.cs b/OpenSim/Region/Application/HGCommands.cs index 1786e54..f99c1a5 100644 --- a/OpenSim/Region/Application/HGCommands.cs +++ b/OpenSim/Region/Application/HGCommands.cs @@ -45,10 +45,6 @@ namespace OpenSim private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); public static IHyperlink HGServices = null; - private static uint m_autoMappingX = 0; - private static uint m_autoMappingY = 0; - private static bool m_enableAutoMapping = false; - public static Scene CreateScene(RegionInfo regionInfo, AgentCircuitManager circuitManager, CommunicationsManager m_commsManager, StorageManager storageManager, ModuleLoader m_moduleLoader, ConfigSettings m_configSettings, OpenSimConfigSource m_config, string m_version) { @@ -61,213 +57,5 @@ namespace OpenSim m_configSettings.See_into_region_from_neighbor, m_config.Source, m_version); } - public static void RunHGCommand(string command, string[] cmdparams, Scene scene) - { - if (command.Equals("link-mapping")) - { - if (cmdparams.Length == 2) - { - try - { - m_autoMappingX = Convert.ToUInt32(cmdparams[0]); - m_autoMappingY = Convert.ToUInt32(cmdparams[1]); - m_enableAutoMapping = true; - } - catch (Exception) - { - m_autoMappingX = 0; - m_autoMappingY = 0; - m_enableAutoMapping = false; - } - } - } - else if (command.Equals("link-region")) - { - if (cmdparams.Length < 3) - { - if ((cmdparams.Length == 1) || (cmdparams.Length == 2)) - { - LoadXmlLinkFile(cmdparams, scene); - } - else - { - LinkRegionCmdUsage(); - } - return; - } - - if (cmdparams[2].Contains(":")) - { - // New format - uint xloc, yloc; - string mapName; - try - { - xloc = Convert.ToUInt32(cmdparams[0]); - yloc = Convert.ToUInt32(cmdparams[1]); - mapName = cmdparams[2]; - if (cmdparams.Length > 3) - for (int i = 3; i < cmdparams.Length; i++) - mapName += " " + cmdparams[i]; - - m_log.Info(">> MapName: " + mapName); - //internalPort = Convert.ToUInt32(cmdparams[4]); - //remotingPort = Convert.ToUInt32(cmdparams[5]); - } - catch (Exception e) - { - m_log.Warn("[HGrid] Wrong format for link-region command: " + e.Message); - LinkRegionCmdUsage(); - return; - } - - HGHyperlink.TryLinkRegionToCoords(scene, null, mapName, xloc, yloc); - } - else - { - // old format - RegionInfo regInfo; - uint xloc, yloc; - uint externalPort; - string externalHostName; - try - { - xloc = Convert.ToUInt32(cmdparams[0]); - yloc = Convert.ToUInt32(cmdparams[1]); - externalPort = Convert.ToUInt32(cmdparams[3]); - externalHostName = cmdparams[2]; - //internalPort = Convert.ToUInt32(cmdparams[4]); - //remotingPort = Convert.ToUInt32(cmdparams[5]); - } - catch (Exception e) - { - m_log.Warn("[HGrid] Wrong format for link-region command: " + e.Message); - LinkRegionCmdUsage(); - return; - } - - //if (TryCreateLink(xloc, yloc, externalPort, externalHostName, out regInfo)) - if (HGHyperlink.TryCreateLink(scene, null, xloc, yloc, "", externalPort, externalHostName, out regInfo)) - { - if (cmdparams.Length >= 5) - { - regInfo.RegionName = ""; - for (int i = 4; i < cmdparams.Length; i++) - regInfo.RegionName += cmdparams[i] + " "; - } - } - } - return; - } - else if (command.Equals("unlink-region")) - { - if (cmdparams.Length < 1) - { - UnlinkRegionCmdUsage(); - return; - } - if (HGHyperlink.TryUnlinkRegion(scene, cmdparams[0])) - m_log.InfoFormat("[HGrid]: Successfully unlinked {0}", cmdparams[0]); - else - m_log.InfoFormat("[HGrid]: Unable to unlink {0}, region not found", cmdparams[0]); - } - } - - private static void LoadXmlLinkFile(string[] cmdparams, Scene scene) - { - //use http://www.hgurl.com/hypergrid.xml for test - try - { - XmlReader r = XmlReader.Create(cmdparams[0]); - XmlConfigSource cs = new XmlConfigSource(r); - string[] excludeSections = null; - - if (cmdparams.Length == 2) - { - if (cmdparams[1].ToLower().StartsWith("excludelist:")) - { - string excludeString = cmdparams[1].ToLower(); - excludeString = excludeString.Remove(0, 12); - char[] splitter = {';'}; - - excludeSections = excludeString.Split(splitter); - } - } - - for (int i = 0; i < cs.Configs.Count; i++) - { - bool skip = false; - if ((excludeSections != null) && (excludeSections.Length > 0)) - { - for (int n = 0; n < excludeSections.Length; n++) - { - if (excludeSections[n] == cs.Configs[i].Name.ToLower()) - { - skip = true; - break; - } - } - } - if (!skip) - { - ReadLinkFromConfig(cs.Configs[i], scene); - } - } - } - catch (Exception e) - { - m_log.Error(e.ToString()); - } - } - - - private static void ReadLinkFromConfig(IConfig config, Scene scene) - { - RegionInfo regInfo; - uint xloc, yloc; - uint externalPort; - string externalHostName; - uint realXLoc, realYLoc; - - xloc = Convert.ToUInt32(config.GetString("xloc", "0")); - yloc = Convert.ToUInt32(config.GetString("yloc", "0")); - externalPort = Convert.ToUInt32(config.GetString("externalPort", "0")); - externalHostName = config.GetString("externalHostName", ""); - realXLoc = Convert.ToUInt32(config.GetString("real-xloc", "0")); - realYLoc = Convert.ToUInt32(config.GetString("real-yloc", "0")); - - if (m_enableAutoMapping) - { - xloc = (uint) ((xloc%100) + m_autoMappingX); - yloc = (uint) ((yloc%100) + m_autoMappingY); - } - - if (((realXLoc == 0) && (realYLoc == 0)) || - (((realXLoc - xloc < 3896) || (xloc - realXLoc < 3896)) && - ((realYLoc - yloc < 3896) || (yloc - realYLoc < 3896)))) - { - if ( - HGHyperlink.TryCreateLink(scene, null, xloc, yloc, "", externalPort, - externalHostName, out regInfo)) - { - regInfo.RegionName = config.GetString("localName", ""); - } - } - } - - - private static void LinkRegionCmdUsage() - { - m_log.Info("Usage: link-region :[:]"); - m_log.Info("Usage: link-region []"); - m_log.Info("Usage: link-region []"); - } - - private static void UnlinkRegionCmdUsage() - { - m_log.Info("Usage: unlink-region :"); - m_log.Info("Usage: unlink-region "); - } - } } diff --git a/OpenSim/Region/Application/OpenSim.cs b/OpenSim/Region/Application/OpenSim.cs index e9c9dc1..c0bdc1e 100644 --- a/OpenSim/Region/Application/OpenSim.cs +++ b/OpenSim/Region/Application/OpenSim.cs @@ -755,11 +755,6 @@ namespace OpenSim } break; - case "link-region": - case "unlink-region": - case "link-mapping": - HGCommands.RunHGCommand(command, cmdparams, m_sceneManager.CurrentOrFirstScene); - break; } } diff --git a/OpenSim/Region/Application/OpenSimBase.cs b/OpenSim/Region/Application/OpenSimBase.cs index 4d13e83..821de35 100644 --- a/OpenSim/Region/Application/OpenSimBase.cs +++ b/OpenSim/Region/Application/OpenSimBase.cs @@ -399,7 +399,7 @@ namespace OpenSim } catch (Exception e) { - m_log.ErrorFormat("[STARTUP]: Registration of region with grid failed, aborting startup - {0}", e); + m_log.ErrorFormat("[STARTUP]: Registration of region with grid failed, aborting startup - {0}", e.StackTrace); // Carrying on now causes a lot of confusion down the // line - we need to get the user's attention -- cgit v1.1