From 32275f7b1643267125c4633d4304f94464a31075 Mon Sep 17 00:00:00 2001 From: fallenoak Date: Thu, 9 Oct 2025 22:55:28 -0500 Subject: [PATCH] feat(net): add Grunt::ClientLink::WCDisconnected --- src/net/grunt/ClientLink.cpp | 15 +++++++++++++++ src/net/grunt/ClientLink.hpp | 1 + 2 files changed, 16 insertions(+) diff --git a/src/net/grunt/ClientLink.cpp b/src/net/grunt/ClientLink.cpp index b0ac7a9..bdf3549 100644 --- a/src/net/grunt/ClientLink.cpp +++ b/src/net/grunt/ClientLink.cpp @@ -820,3 +820,18 @@ void Grunt::ClientLink::WCDataReady(WowConnection* conn, uint32_t timeStamp, uin this->Disconnect(); } } + +void Grunt::ClientLink::WCDisconnected(WowConnection* conn, uint32_t timeStamp, NETCONNADDR* addr) { + this->m_critSect.Enter(); + + this->Shutdown(); + + this->SetState(STATE_NONE); + + this->m_critSect.Leave(); + + // TODO + // if (this->m_clientResponse->Disconnected()) { + // delete this; + // } +} diff --git a/src/net/grunt/ClientLink.hpp b/src/net/grunt/ClientLink.hpp index 1005f8a..82ff212 100644 --- a/src/net/grunt/ClientLink.hpp +++ b/src/net/grunt/ClientLink.hpp @@ -69,6 +69,7 @@ class Grunt::ClientLink : public WowConnectionResponse, Grunt::Pending, Grunt::T virtual void WCConnected(WowConnection* conn, WowConnection* inbound, uint32_t timeStamp, const NETCONNADDR* addr); virtual void WCCantConnect(WowConnection* conn, uint32_t timeStamp, NETCONNADDR* addr); virtual void WCDataReady(WowConnection* conn, uint32_t timeStamp, uint8_t* data, int32_t len); + virtual void WCDisconnected(WowConnection* conn, uint32_t timeStamp, NETCONNADDR* addr); virtual void Call(); // Member functions