X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fnet%2FConnection.hpp;fp=src%2Fnet%2FConnection.hpp;h=58f315d4d58e0358033cc74dee6e4e1162cd1a14;hb=1afc887a2040dfdedfa66913e94ff7a9634f648f;hp=cc13ef60915df48dc676228535c50101f0eccc9d;hpb=da5073a7fdb1ca066e778a02db33d5d15073aea0;p=blank.git diff --git a/src/net/Connection.hpp b/src/net/Connection.hpp index cc13ef6..58f315d 100644 --- a/src/net/Connection.hpp +++ b/src/net/Connection.hpp @@ -10,11 +10,18 @@ namespace blank { +class PacketHandler; + class Connection { public: explicit Connection(const IPaddress &); + void SetHandler(PacketHandler *h) noexcept { handler = h; } + void RemoveHandler() noexcept { handler = nullptr; } + bool HasHandler() const noexcept { return handler; } + PacketHandler &Handler() noexcept { return *handler; } + const IPaddress &Address() const noexcept { return addr; } bool Matches(const IPaddress &) const noexcept; @@ -37,6 +44,7 @@ private: void FlagRecv() noexcept; private: + PacketHandler *handler; IPaddress addr; IntervalTimer send_timer; IntervalTimer recv_timer;