public static void SetConnectionQualityEmulation(ConnectionQuality connectionParams) { int minLatency = connectionParams.MinLatency_ms < 0 ? 0 : connectionParams.MinLatency_ms; int maxLatency = connectionParams.MaxLatency_ms < minLatency ? minLatency : connectionParams.MaxLatency_ms; uLink.Network.emulation.chanceOfLoss = 0.01f * connectionParams.PacketLoss_percent; uLink.Network.emulation.minLatency = minLatency / 1000.0f; uLink.Network.emulation.maxLatency = maxLatency / 1000.0f; }
public override int GetHashCode() { int hash = Name.GetHashCode(); hash = 31 * hash + MAC.GetHashCode(); hash = 31 * hash + ConnectionQuality.GetHashCode(); hash = 31 * hash + AuthenticationType.GetHashCode(); return(hash); }
public override void Render() { // Get all defined servers. ServerCollection servers = new ServerCollection(Path.Combine( HttpContext.Current.Request.PhysicalApplicationPath, "App_Data", "Servers.xml" )); // Create a new string builder that // holds the result html string. StringBuilder result = new StringBuilder(); result.Append("<table class=\"TableContent\" cellspacing=\"0\" cellpadding=\"0\">"); result.Append("<tr class=\"TableHeadline\">"); result.Append(string.Format( "<td>{0}</td>", Global.LanguageManager.GetText("ServerDescription") )); result.Append(string.Format( "<td>{0}</td>", Global.LanguageManager.GetText("ServerIP") )); result.Append(string.Format( "<td>{0}</td>", Global.LanguageManager.GetText("ServerRole") )); result.Append(string.Format( "<td>{0}</td>", Global.LanguageManager.GetText("ServerCountries") )); result.Append(string.Format( "<td>{0}</td>", Global.LanguageManager.GetText("ServerSessions") )); result.Append(string.Format( "<td>{0}</td>", Global.LanguageManager.GetText("ServerConnectionQuality") )); result.Append(string.Format( "<td>{0}</td>", Global.LanguageManager.GetText("ServerSynchEnabled") )); result.Append(string.Format( "<td>{0}</td>", Global.LanguageManager.GetText("ServerState") )); result.Append("</tr>"); Random test = new Random(); // Run through all defined servers. foreach (string ip in servers.Items.Keys) { Server server = servers.Items[ip]; result.Append("<tr>"); result.Append(string.Format( "<td>{0}</td>", server.Description )); result.Append(string.Format( "<td>{0}</td>", server.IP )); result.Append(string.Format( "<td>{0}</td>", Global.LanguageManager.GetText("ServerRole" + server.Role) )); result.Append(string.Format( "<td>{0}</td>", string.Join(",", server.Countries) )); result.Append(string.Format( "<td>{0}</td>", server.State == ServerState.Online ? test.Next(0, 20) : 0 )); if (server.State == ServerState.Online) { ConnectionQuality connectionQuality = server.GetConnectionQuality(); result.Append(string.Format( "<td>{0}</td>", server.State == ServerState.Online ? string.Format(Global.LanguageManager.GetText("ServerConnectionQuality" + connectionQuality.Rank), connectionQuality.Ping) : " - " )); } else { result.Append("<td>-</td>"); } result.Append(string.Format( "<td onclick=\"GetLatestSynchAction('{1}')\" style=\"cursor:pointer;\">{0}</td>", Global.LanguageManager.GetText("ServerSynchEnabled" + server.SynchEnabled()), server.IP )); result.Append(string.Format( "<td onclick=\"{1}(this, '{2}');\" style=\"cursor:pointer;\">{0}</td>", Global.LanguageManager.GetText("ServerState" + server.State), server.State == ServerState.Online ? "TakeOffline" : "BringOnline", server.IP )); result.Append("</tr>"); } result.Append("</table>"); this.Controls.Add(new LiteralControl(result.ToString())); }