static int Main(string[] args) { m_Server = new HttpServerBase("R.O.B.U.S.T.", args); IConfig serverConfig = m_Server.Config.Configs["Startup"]; if (serverConfig == null) { System.Console.WriteLine("Startup config section missing in .ini file"); throw new Exception("Configuration error"); } string connList = serverConfig.GetString("ServiceConnectors", String.Empty); string[] conns = connList.Split(new char[] {',', ' '}); foreach (string conn in conns) { if (conn == String.Empty) continue; string[] parts = conn.Split(new char[] {':'}); string friendlyName = parts[0]; if (parts.Length > 1) friendlyName = parts[1]; m_log.InfoFormat("[SERVER]: Loading {0}", friendlyName); Object[] modargs = new Object[] { m_Server.Config, m_Server.HttpServer }; IServiceConnector connector = ServerUtils.LoadPlugin<IServiceConnector>(conn, modargs); if (connector != null) { m_ServiceConnectors.Add(connector); m_log.InfoFormat("[SERVER]: {0} loaded successfully", friendlyName); } else { m_log.InfoFormat("[SERVER]: Failed to load {0}", conn); } } int res = m_Server.Run(); Environment.Exit(res); return 0; }
public static int Main(string[] args) { m_Server = new HttpServerBase("R.O.B.U.S.T.", args); IConfig serverConfig = m_Server.Config.Configs["Startup"]; if (serverConfig == null) { System.Console.WriteLine("Startup config section missing in .ini file"); throw new Exception("Configuration error"); } string connList = serverConfig.GetString("ServiceConnectors", String.Empty); string[] conns = connList.Split(new char[] {',', ' '}); // int i = 0; foreach (string c in conns) { if (c == String.Empty) continue; string configName = String.Empty; string conn = c; uint port = 0; string[] split1 = conn.Split(new char[] {'/'}); if (split1.Length > 1) { conn = split1[1]; string[] split2 = split1[0].Split(new char[] {'@'}); if (split2.Length > 1) { configName = split2[0]; port = Convert.ToUInt32(split2[1]); } else { port = Convert.ToUInt32(split1[0]); } } string[] parts = conn.Split(new char[] {':'}); string friendlyName = parts[0]; if (parts.Length > 1) friendlyName = parts[1]; IHttpServer server; if (port != 0) server = MainServer.GetHttpServer(port); else server = MainServer.Instance; m_log.InfoFormat("[SERVER]: Loading {0} on port {1}", friendlyName, server.Port); IServiceConnector connector = null; Object[] modargs = new Object[] { m_Server.Config, server, configName }; connector = ServerUtils.LoadPlugin<IServiceConnector>(conn, modargs); if (connector == null) { modargs = new Object[] { m_Server.Config, server }; connector = ServerUtils.LoadPlugin<IServiceConnector>(conn, modargs); } if (connector != null) { m_ServiceConnectors.Add(connector); m_log.InfoFormat("[SERVER]: {0} loaded successfully", friendlyName); } else { m_log.InfoFormat("[SERVER]: Failed to load {0}", conn); } } int res = m_Server.Run(); Environment.Exit(res); return 0; }
public static int Main(string[] args) { // Make sure we don't get outbound connections queueing ServicePointManager.DefaultConnectionLimit = 50; ServicePointManager.UseNagleAlgorithm = false; m_Server = new HttpServerBase("R.O.B.U.S.T.", args); string registryLocation; IConfig serverConfig = m_Server.Config.Configs["Startup"]; if (serverConfig == null) { System.Console.WriteLine("Startup config section missing in .ini file"); throw new Exception("Configuration error"); } string connList = serverConfig.GetString("ServiceConnectors", String.Empty); registryLocation = serverConfig.GetString("RegistryLocation","."); IConfig servicesConfig = m_Server.Config.Configs["ServiceList"]; if (servicesConfig != null) { List<string> servicesList = new List<string>(); if (connList != String.Empty) servicesList.Add(connList); foreach (string k in servicesConfig.GetKeys()) { string v = servicesConfig.GetString(k); if (v != String.Empty) servicesList.Add(v); } connList = String.Join(",", servicesList.ToArray()); } string[] conns = connList.Split(new char[] {',', ' ', '\n', '\r', '\t'}); // int i = 0; foreach (string c in conns) { if (c == String.Empty) continue; string configName = String.Empty; string conn = c; uint port = 0; string[] split1 = conn.Split(new char[] {'/'}); if (split1.Length > 1) { conn = split1[1]; string[] split2 = split1[0].Split(new char[] {'@'}); if (split2.Length > 1) { configName = split2[0]; port = Convert.ToUInt32(split2[1]); } else { port = Convert.ToUInt32(split1[0]); } } string[] parts = conn.Split(new char[] {':'}); string friendlyName = parts[0]; if (parts.Length > 1) friendlyName = parts[1]; IHttpServer server; if (port != 0) server = MainServer.GetHttpServer(port); else server = MainServer.Instance; m_log.InfoFormat("[SERVER]: Loading {0} on port {1}", friendlyName, server.Port); IServiceConnector connector = null; Object[] modargs = new Object[] { m_Server.Config, server, configName }; connector = ServerUtils.LoadPlugin<IServiceConnector>(conn, modargs); if (connector == null) { modargs = new Object[] { m_Server.Config, server }; connector = ServerUtils.LoadPlugin<IServiceConnector>(conn, modargs); } if (connector != null) { m_ServiceConnectors.Add(connector); m_log.InfoFormat("[SERVER]: {0} loaded successfully", friendlyName); } else { m_log.ErrorFormat("[SERVER]: Failed to load {0}", conn); } } loader = new PluginLoader(m_Server.Config, registryLocation); int res = m_Server.Run(); Environment.Exit(res); return 0; }