X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fnet%2FConnection.hpp;h=bb0d791a9c5ce898eca36b35d297ec937a3b7510;hb=f506afdcb23fed22f2c7f345b94cb411487f89c9;hp=58f315d4d58e0358033cc74dee6e4e1162cd1a14;hpb=1afc887a2040dfdedfa66913e94ff7a9634f648f;p=blank.git diff --git a/src/net/Connection.hpp b/src/net/Connection.hpp index 58f315d..bb0d791 100644 --- a/src/net/Connection.hpp +++ b/src/net/Connection.hpp @@ -10,17 +10,17 @@ namespace blank { -class PacketHandler; +class ConnectionHandler; class Connection { public: explicit Connection(const IPaddress &); - void SetHandler(PacketHandler *h) noexcept { handler = h; } + void SetHandler(ConnectionHandler *h) noexcept { handler = h; } void RemoveHandler() noexcept { handler = nullptr; } bool HasHandler() const noexcept { return handler; } - PacketHandler &Handler() noexcept { return *handler; } + ConnectionHandler &Handler() noexcept { return *handler; } const IPaddress &Address() const noexcept { return addr; } @@ -30,13 +30,13 @@ public: bool TimedOut() const noexcept; void Close() noexcept { closed = true; } - bool Closed() const noexcept { return closed || TimedOut(); } + bool Closed() const noexcept { return closed; } void Update(int dt); - void SendPing(UDPpacket &, UDPsocket); + std::uint16_t SendPing(UDPpacket &, UDPsocket); - void Send(UDPpacket &, UDPsocket); + std::uint16_t Send(UDPpacket &, UDPsocket); void Received(const UDPpacket &); private: @@ -44,12 +44,13 @@ private: void FlagRecv() noexcept; private: - PacketHandler *handler; + ConnectionHandler *handler; IPaddress addr; - IntervalTimer send_timer; - IntervalTimer recv_timer; + CoarseTimer send_timer; + CoarseTimer recv_timer; - Packet::TControl ctrl; + Packet::TControl ctrl_out; + Packet::TControl ctrl_in; bool closed;