diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/modules/protocol/rfc1459.h | 8 | ||||
-rw-r--r-- | include/uplink.h | 12 |
2 files changed, 19 insertions, 1 deletions
diff --git a/include/modules/protocol/rfc1459.h b/include/modules/protocol/rfc1459.h index 54c4bada5..8780892e0 100644 --- a/include/modules/protocol/rfc1459.h +++ b/include/modules/protocol/rfc1459.h @@ -288,6 +288,14 @@ class Ping : public IRCDMessage void Run(MessageSource &source, const std::vector<Anope::string> ¶ms) override; }; +class Pong : public IRCDMessage +{ + public: + Pong(Module *creator, const Anope::string &mname = "PONG") : IRCDMessage(creator, mname) { } + + void Run(MessageSource &source, const std::vector<Anope::string> ¶ms) override; +}; + class Privmsg : public IRCDMessage { public: diff --git a/include/uplink.h b/include/uplink.h index 8cb8c8b20..be2675931 100644 --- a/include/uplink.h +++ b/include/uplink.h @@ -21,6 +21,7 @@ #include "sockets.h" #include "protocol.h" +#include "timers.h" namespace Uplink { @@ -40,13 +41,22 @@ namespace Uplink IRCMessage message(Me, command, std::forward<Args>(args)...); SendMessage(message); } + + class PingTimer : public Timer + { + public: + PingTimer(time_t); + void Tick(time_t) override; + }; } /* This is the socket to our uplink */ class UplinkSocket : public ConnectionSocket, public BufferedSocket { public: - bool error; + bool error = false; + time_t last_read = 0; + bool pinged = false; UplinkSocket(); ~UplinkSocket(); bool ProcessRead() override; |