Ignore:
Timestamp:
Nov 16, 2018, 10:38:46 PM (6 years ago)
Author:
alloc
Message:

*Latest optimizations

Location:
binary-improvements/MapRendering/Web/API
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • binary-improvements/MapRendering/Web/API/GetLandClaims.cs

    r326 r332  
    2121
    2222                        // default user, cheap way to avoid 'null reference exception'
    23                         user = user ?? new WebConnection ("", "", 0L);
     23                        user = user ?? new WebConnection ("", IPAddress.None, 0L);
    2424
    2525                        bool bViewAll = WebConnection.CanViewAllClaims (permissionLevel);
  • binary-improvements/MapRendering/Web/API/GetPlayerInventories.cs

    r325 r332  
     1using System.Collections.Generic;
    12using System.Net;
    23using AllocsFixes.JSON;
     
    910                        JSONArray AllInventoriesResult = new JSONArray ();
    1011
    11                         foreach (string sid in PersistentContainer.Instance.Players.SteamIDs) {
    12                                 Player p = PersistentContainer.Instance.Players [sid, false];
     12                        foreach (KeyValuePair<string, Player> kvp in PersistentContainer.Instance.Players.Dict) {
     13                                Player p = kvp.Value;
    1314
    1415                                if (p == null) {
     
    2324                                        JSONArray belt = new JSONArray ();
    2425                                        JSONObject equipment = new JSONObject ();
    25                                         result.Add ("steamid", new JSONString (sid));
     26                                        result.Add ("steamid", new JSONString (kvp.Key));
    2627                                        result.Add ("entityid", new JSONNumber (p.EntityID));
    2728                                        result.Add ("playername", new JSONString (p.Name));
  • binary-improvements/MapRendering/Web/API/GetPlayerList.cs

    r326 r332  
    66using AllocsFixes.JSON;
    77using AllocsFixes.PersistentData;
     8using UnityEngine.Profiling;
    89
    910namespace AllocsFixes.NetConnections.Servers.Web.API {
     
    1213                        new Regex (@"^(>=|=>|>|<=|=<|<|==|=)?\s*([0-9]+(\.[0-9]*)?)$");
    1314
     15#if ENABLE_PROFILER
     16                private static readonly CustomSampler jsonSerializeSampler = CustomSampler.Create ("JSON_Build");
     17#endif
     18
    1419                public override void HandleRequest (HttpListenerRequest req, HttpListenerResponse resp, WebConnection user,
    1520                        int permissionLevel) {
    1621                        AdminTools admTools = GameManager.Instance.adminTools;
    17                         user = user ?? new WebConnection ("", "", 0L);
     22                        user = user ?? new WebConnection ("", IPAddress.None, 0L);
    1823
    1924                        bool bViewAll = WebConnection.CanViewAllPlayers (permissionLevel);
     
    3540                        Players playersList = PersistentContainer.Instance.Players;
    3641
     42                       
    3743                        List<JSONObject> playerList = new List<JSONObject> ();
    3844
    39                         foreach (string sid in playersList.SteamIDs) {
    40                                 Player p = playersList [sid, false];
     45#if ENABLE_PROFILER
     46                        jsonSerializeSampler.Begin ();
     47#endif
     48
     49                        foreach (KeyValuePair<string, Player> kvp in playersList.Dict) {
     50                                Player p = kvp.Value;
    4151
    4252                                ulong player_steam_ID;
    43                                 if (!ulong.TryParse (sid, out player_steam_ID)) {
     53                                if (!ulong.TryParse (kvp.Key, out player_steam_ID)) {
    4454                                        player_steam_ID = 0L;
    4555                                }
     
    5262
    5363                                        JSONObject pJson = new JSONObject ();
    54                                         pJson.Add ("steamid", new JSONString (sid));
     64                                        pJson.Add ("steamid", new JSONString (kvp.Key));
    5565                                        pJson.Add ("entityid", new JSONNumber (p.EntityID));
    5666                                        pJson.Add ("ip", new JSONString (p.IP));
     
    6676                                        JSONBoolean banned;
    6777                                        if (admTools != null) {
    68                                                 banned = new JSONBoolean (admTools.IsBanned (sid));
     78                                                banned = new JSONBoolean (admTools.IsBanned (kvp.Key));
    6979                                        } else {
    7080                                                banned = new JSONBoolean (false);
     
    7686                                }
    7787                        }
     88
     89#if ENABLE_PROFILER
     90                        jsonSerializeSampler.End ();
     91#endif
    7892
    7993                        IEnumerable<JSONObject> list = playerList;
  • binary-improvements/MapRendering/Web/API/GetPlayersLocation.cs

    r326 r332  
     1using System.Collections.Generic;
    12using System.Net;
    23using AllocsFixes.JSON;
     
    89                        int permissionLevel) {
    910                        AdminTools admTools = GameManager.Instance.adminTools;
    10                         user = user ?? new WebConnection ("", "", 0L);
     11                        user = user ?? new WebConnection ("", IPAddress.None, 0L);
    1112
    1213                        bool listOffline = false;
     
    2122                        Players playersList = PersistentContainer.Instance.Players;
    2223
    23                         foreach (string sid in playersList.SteamIDs) {
     24                        foreach (KeyValuePair<string, Player> kvp in playersList.Dict) {
    2425                                if (admTools != null) {
    25                                         if (admTools.IsBanned (sid)) {
     26                                        if (admTools.IsBanned (kvp.Key)) {
    2627                                                continue;
    2728                                        }
    2829                                }
    2930
    30                                 Player p = playersList [sid, false];
     31                                Player p = kvp.Value;
    3132
    3233                                if (listOffline || p.IsOnline) {
    3334                                        ulong player_steam_ID;
    34                                         if (!ulong.TryParse (sid, out player_steam_ID)) {
     35                                        if (!ulong.TryParse (kvp.Key, out player_steam_ID)) {
    3536                                                player_steam_ID = 0L;
    3637                                        }
     
    4344
    4445                                                JSONObject pJson = new JSONObject ();
    45                                                 pJson.Add ("steamid", new JSONString (sid));
     46                                                pJson.Add ("steamid", new JSONString (kvp.Key));
    4647
    4748                                                //                                      pJson.Add("entityid", new JSONNumber (p.EntityID));
  • binary-improvements/MapRendering/Web/API/WebAPI.cs

    r326 r332  
    22using System.Text;
    33using AllocsFixes.JSON;
     4using UnityEngine.Profiling;
    45
    56namespace AllocsFixes.NetConnections.Servers.Web.API {
     
    1112                }
    1213
     14#if ENABLE_PROFILER
     15                private static readonly CustomSampler jsonSerializeSampler = CustomSampler.Create ("JSON_Serialize");
     16                private static readonly CustomSampler netWriteSampler = CustomSampler.Create ("JSON_Write");
     17#endif
     18
    1319                public static void WriteJSON (HttpListenerResponse resp, JSONNode root) {
     20#if ENABLE_PROFILER
     21                        jsonSerializeSampler.Begin ();
     22#endif
    1423                        StringBuilder sb = new StringBuilder ();
    1524                        root.ToString (sb);
     25#if ENABLE_PROFILER
     26                        jsonSerializeSampler.End ();
     27                        netWriteSampler.Begin ();
     28#endif
    1629                        byte[] buf = Encoding.UTF8.GetBytes (sb.ToString ());
    1730                        resp.ContentLength64 = buf.Length;
     
    1932                        resp.ContentEncoding = Encoding.UTF8;
    2033                        resp.OutputStream.Write (buf, 0, buf.Length);
     34#if ENABLE_PROFILER
     35                        netWriteSampler.End ();
     36#endif
    2137                }
    2238
Note: See TracChangeset for help on using the changeset viewer.