CIRCSock::OnPing/PongMessage() handlers

This commit is contained in:
J-P Nurmi
2015-09-05 11:37:42 +02:00
parent da06aacd4d
commit 41b71e3a40
2 changed files with 20 additions and 6 deletions

View File

@@ -166,13 +166,13 @@ void CIRCSock::ReadLine(const CString& sData) {
CString sCmd = Message.GetCommand();
if (Message.GetType() == CMessage::Type::Ping) {
// Generate a reply and don't forward this to any user,
// we don't want any PING forwarded
PutIRCQuick("PONG " + Message.GetParam(0));
return;
if (OnPingMessage(Message)) {
return;
}
} else if (Message.GetType() == CMessage::Type::Pong) {
// Block PONGs, we already responded to the pings
return;
if (OnPongMessage(Message)) {
return;
}
} else if (Message.GetType() == CMessage::Type::Error) {
//ERROR :Closing Link: nick[24.24.24.24] (Excess Flood)
CString sError = Message.GetParam(0);
@@ -1031,6 +1031,18 @@ bool CIRCSock::OnPartMessage(CPartMessage& Message) {
return bDetached;
}
bool CIRCSock::OnPingMessage(CMessage& Message) {
// Generate a reply and don't forward this to any user,
// we don't want any PING forwarded
PutIRCQuick("PONG " + Message.GetParam(0));
return true;
}
bool CIRCSock::OnPongMessage(CMessage& Message) {
// Block PONGs, we already responded to the pings
return true;
}
bool CIRCSock::OnQuitMessage(CQuitMessage& Message) {
const CNick& Nick = Message.GetNick();
bool bIsVisible = false;