diff --git a/tservice.cpp b/tservice.cpp index 41a5423..576e6d7 100644 --- a/tservice.cpp +++ b/tservice.cpp @@ -75,16 +75,16 @@ std::expected TunService::Listen(void) { void TunService::Handle(int sock) { - auto prefixRes = netprefix(tunnelnet); - if (!prefixRes) { - uxlogger.Error(prefixRes.error()); - return; - } auto networkRes = network(tunnelnet); if (!networkRes) { uxlogger.Error(networkRes.error()); return; } + auto prefixRes = netprefix(tunnelnet); + if (!prefixRes) { + uxlogger.Error(prefixRes.error()); + return; + } int num = (sock - 3); auto localaddrRes = nethost(networkRes.value(), prefixRes.value(), num); if (!networkRes) { diff --git a/tservice.hpp b/tservice.hpp index db9ec26..e3d4a9f 100644 --- a/tservice.hpp +++ b/tservice.hpp @@ -8,12 +8,20 @@ #include +class ClientSlot { +private: + bool free; + int num; +}; + + class TunService { private: std::string tunnelnet; std::vector localnets; int listenport; int sock; + std::vector clientSlots; public: explicit TunService(int port, std::string tunnelnet, std::vector localnets); std::expected Bind(void);