diff --git a/Server/Extra/Heart.cs b/Server/Extra/Heart.cs
index 6757a43a5..1f1e899b4 100644
--- a/Server/Extra/Heart.cs
+++ b/Server/Extra/Heart.cs
@@ -1,7 +1,7 @@
/*
Copyright 2012 MCForge
- Dual-licensed under the Educational Community License, Version 2.0 and
+ Dual-licensed under the Educational Community License, Version 2.0 and
the GNU General Public License, Version 3 (the "Licenses"); you may
not use this file except in compliance with the Licenses. You may
obtain a copy of the Licenses at
@@ -26,139 +26,85 @@ namespace MCGalaxy {
public static class Heart {
- ///
- /// The max number of retries it runs for a beat
- ///
+ /// The max number of retries it runs for a beat
public const int MAX_RETRIES = 3;
- ///
- /// Gets or sets a value indicating whether this instance can beat.
- ///
- ///
- /// true if this instance can beat; otherwise, false.
- ///
+ /// Gets or sets a value indicating whether this instance can beat.
+ /// true if this instance can beat; otherwise, false.
public static bool CanBeat { get; set; }
- static Timer Timer;
- static object Lock = new object();
+ static Timer timer;
-
- private readonly static IBeat[] Beats = {
-
- //Keep in this order.
+ readonly static IBeat[] Beats = {
new ClassiCubeBeat()
- };
-
-
-
+ }; //Keep these in order
static Heart() {
- Thread t = new Thread(new ThreadStart(() => {
- Timer = new Timer(OnBeat, null,
-#if DEBUG
+ timer = new Timer(
+ OnBeat, null,
+ #if DEBUG
6000, 6000
-#else
+ #else
45000, 45000
-#endif
- );
- }));
- t.Name = "MCG_Heartbeat";
- t.Start();
+ #endif
+ );
}
- private static void OnBeat(object state) {
- for ( int i = 0; i < Beats.Length; i++ ) {
- if ( Beats[i].Persistance )
- Pump(Beats[i]);
+ static void OnBeat(object state) {
+ for (int i = 0; i < Beats.Length; i++) {
+ if (Beats[i].Persistance) Pump(Beats[i]);
}
}
-
-
- ///
- /// Inits this instance.
- ///
+ /// Inits this instance.
public static void Init() {
- if ( Server.logbeat ) {
- if ( !File.Exists("heartbeat.log") ) {
- using ( File.Create("heartbeat.log") ) { }
- }
+ if (Server.logbeat && !File.Exists("heartbeat.log")) {
+ using (File.Create("heartbeat.log")) { }
}
- CanBeat = true;
-
- for ( int i = 0; i < Beats.Length; i++ )
+ CanBeat = true;
+ for (int i = 0; i < Beats.Length; i++)
Pump(Beats[i]);
}
- ///
- /// Pumps the specified beat.
- ///
+ /// Pumps the specified beat.
/// The beat.
///
public static void Pump(IBeat beat) {
-
- if(!CanBeat)
- return;
-
+ if(!CanBeat) return;
byte[] data = Encoding.ASCII.GetBytes(beat.Prepare());
- for ( int i = 0; i < MAX_RETRIES; i++ ) {
+ for (int i = 0; i < MAX_RETRIES; i++) {
try {
- var request = WebRequest.Create(beat.URL) as HttpWebRequest;
- request.Method = "POST";
- request.ContentType = "application/x-www-form-urlencoded";
- request.CachePolicy = new RequestCachePolicy(RequestCacheLevel.NoCacheNoStore);
- request.Timeout = 15000;
- request.ContentLength = data.Length;
+ var req = WebRequest.Create(beat.URL) as HttpWebRequest;
+ req.Method = "POST";
+ req.ContentType = "application/x-www-form-urlencoded";
+ req.CachePolicy = new RequestCachePolicy(RequestCacheLevel.NoCacheNoStore);
+ req.Timeout = 15000;
+ req.ContentLength = data.Length;
- using ( var writer = request.GetRequestStream() ) {
- writer.Write(data, 0, data.Length);
+ using (var w = req.GetRequestStream()) {
+ w.Write(data, 0, data.Length);
- if ( Server.logbeat )
+ if (Server.logbeat)
Server.s.Log("Beat " + beat.ToString() + " was sent");
}
- using ( var reader = new StreamReader(request.GetResponse().GetResponseStream()) ) {
- string read = reader.ReadToEnd().Trim();
+ using (var r = new StreamReader(req.GetResponse().GetResponseStream())) {
+ string read = r.ReadToEnd().Trim();
beat.OnResponse(read);
- if ( Server.logbeat )
+ if (Server.logbeat)
Server.s.Log("Beat: \"" + read + "\" was recieved");
}
return;
- }
- catch {
+ } catch {
continue;
}
}
- if ( Server.logbeat )
+ if (Server.logbeat)
Server.s.Log("Beat: " + beat.ToString() + " failed.");
}
-
- ///
- /// Encodes the URL.
- ///
- /// The input.
- /// An encoded url
- public static string EncodeUrl(string input) {
- StringBuilder output = new StringBuilder();
- for ( int i = 0; i < input.Length; i++ ) {
- if ( ( input[i] >= '0' && input[i] <= '9' ) ||
- ( input[i] >= 'a' && input[i] <= 'z' ) ||
- ( input[i] >= 'A' && input[i] <= 'Z' ) ||
- input[i] == '-' || input[i] == '_' || input[i] == '.' || input[i] == '~' ) {
- output.Append(input[i]);
- }
- else if ( Array.IndexOf(ReservedChars, input[i]) != -1 ) {
- output.Append('%').Append(( (int)input[i] ).ToString("X"));
- }
- }
- return output.ToString();
- }
-
- public static readonly char[] ReservedChars = { ' ', '!', '*', '\'', '(', ')', ';', ':', '@', '&', '=', '+', '$', ',', '/', '?', '%', '#', '[', ']' };
}
-
}
diff --git a/Server/Server.Threads.cs b/Server/Server.Threads.cs
index c10d273f2..8536582ba 100644
--- a/Server/Server.Threads.cs
+++ b/Server/Server.Threads.cs
@@ -38,8 +38,8 @@ namespace MCGalaxy {
void DoLocationChecks() {
while (true) {
- Player[] players = PlayerInfo.Online.Items;
- Thread.Sleep(players.Length == 0 ? 16 : 3);
+ Player[] players = PlayerInfo.Online.Items;
+ Thread.Sleep(players.Length == 0 ? 16 : 3);
players = PlayerInfo.Online.Items;
for (int i = 0; i < players.Length; i++) {