From f4c332ab2f183af20882b64905c5e18c0df124b5 Mon Sep 17 00:00:00 2001 From: Zack Piispanen Date: Fri, 8 Nov 2013 02:20:38 -0500 Subject: [PATCH] Only Initialize the stat tracker once, and explicitly set timeout to 5 seconds. --- TShockAPI/StatTracker.cs | 15 +++++++++++++-- TShockAPI/TShock.cs | 4 ++-- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/TShockAPI/StatTracker.cs b/TShockAPI/StatTracker.cs index d1a63bb9..a3381bf7 100644 --- a/TShockAPI/StatTracker.cs +++ b/TShockAPI/StatTracker.cs @@ -11,10 +11,20 @@ namespace TShockAPI { public class StatTracker { - private bool failed = false; + private bool failed; + private bool initialized; public StatTracker() { - ThreadPool.QueueUserWorkItem(SendUpdate); + + } + + public void Initialize() + { + if (!initialized) + { + initialized = true; + ThreadPool.QueueUserWorkItem(SendUpdate); + } } private HttpWebResponse GetResponseNoException(HttpWebRequest req) @@ -51,6 +61,7 @@ namespace TShockAPI var encoded = HttpUtility.UrlEncode(serialized); var uri = String.Format("http://96.47.231.227:8000?data={0}", encoded); var client = (HttpWebRequest)WebRequest.Create(uri); + client.Timeout = 5000; try { using (var resp = GetResponseNoException(client)) diff --git a/TShockAPI/TShock.cs b/TShockAPI/TShock.cs index cbdcab52..10001583 100755 --- a/TShockAPI/TShock.cs +++ b/TShockAPI/TShock.cs @@ -70,7 +70,7 @@ namespace TShockAPI public static SecureRest RestApi; public static RestManager RestManager; public static Utils Utils = Utils.Instance; - public static StatTracker StatTracker; + public static StatTracker StatTracker = new StatTracker(); /// /// Used for implementing REST Tokens prior to the REST system starting up. /// @@ -599,7 +599,7 @@ namespace TShockAPI ComputeMaxStyles(); FixChestStacks(); - StatTracker = new StatTracker(); + StatTracker.Initialize(); } private void ComputeMaxStyles()