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