From 216cd6d479ae4bbeaf5dd3314ebb4b1061482931 Mon Sep 17 00:00:00 2001 From: Starbeamrainbowlabs Date: Sun, 2 Dec 2018 16:47:23 +0000 Subject: [PATCH] Try to fix the reconnection system, but it's not working right. --- RhinoReminds/ClientListener.cs | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/RhinoReminds/ClientListener.cs b/RhinoReminds/ClientListener.cs index 3bdac2a..aedab14 100644 --- a/RhinoReminds/ClientListener.cs +++ b/RhinoReminds/ClientListener.cs @@ -107,14 +107,20 @@ namespace RhinoReminds private void errorHandler(object sender, S22.Xmpp.Im.ErrorEventArgs e) { - Console.Error.WriteLine($"Error {e.Reason}: {e.Exception}"); - Console.Error.WriteLine($"Reconnecting in {TimeSpan.FromSeconds(nextBackoffDelay).ToString()}."); + Console.Error.WriteLine($"[Error] {e.Reason}: {e.Exception}"); - Task.Delay(nextBackoffDelay * 1000).Wait(); - if (!connect().Result) - nextBackoffDelay = (int)Math.Ceiling(nextBackoffDelay * backoffDelayMultiplier); - else - nextBackoffDelay = defaultBackoffDelay; + if(!client.Connected) + { + Console.Error.WriteLine($"[Error/Handler] Reconnecting in {TimeSpan.FromSeconds(nextBackoffDelay).ToString()}."); + Thread.Sleep(nextBackoffDelay * 1000); + Console.WriteLine("[Error/Handler] Attempting to reconnect to the server"); + + if (!connect().Result) + nextBackoffDelay = (int)Math.Ceiling(nextBackoffDelay * backoffDelayMultiplier); + else + nextBackoffDelay = defaultBackoffDelay; + + } } private void messageHandlerRoot(object sender, MessageEventArgs eventArgs)