From a782bc9317af008075856f9d9c30c84f9e57b0e6 Mon Sep 17 00:00:00 2001 From: "Tristan B. Velloza Kildaire" Date: Fri, 30 Jun 2023 12:27:46 +0200 Subject: [PATCH] Client - Added some TODOs which need to be done - When checking for active session use `running == false` not `socket is null` which is not set back to `null` when disconnected after one session Unit tests --- source/birchwood/client/client.d | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/source/birchwood/client/client.d b/source/birchwood/client/client.d index 2e99e83..1488129 100644 --- a/source/birchwood/client/client.d +++ b/source/birchwood/client/client.d @@ -826,7 +826,7 @@ public class Client : Thread */ public void connect() { - if(socket is null) + if(!running) { try { @@ -1020,14 +1020,21 @@ public class Client : Thread receiver.end(); logger.log("doThreadCleanup() recvQueue manager stopped"); + // TODO: Set to null + + /* Stop the send queue manager and wait for it to stop */ sender.end(); logger.log("doThreadCleanup() sendQueue manager stopped"); + // TODO: Set to null + /* TODO: Stop eventy (FIXME: I don't know if this is implemented in Eventy yet, do this!) */ engine.shutdown(); logger.log("doThreadCleanup() eventy stopped"); + // TODO: Set to null + logger.log("doThreadCleanup() end"); } @@ -1402,5 +1409,17 @@ public class Client : Thread // } client.quit(); + + + /** + * Reconnect (TODO: This is new testing code) + */ + client.connect(); + + + Thread.sleep(dur!("seconds")(4)); + client.joinChannel("#birchwood"); + client.channelMessage("Lekker", "#birchwood"); + client.quit(); } } \ No newline at end of file