From 6c79fe43fe2d6bbbb2808777e5553a7360b37d22 Mon Sep 17 00:00:00 2001 From: hovertank3d Date: Mon, 23 Feb 2026 03:05:12 +0100 Subject: revert to being a raw proxy --- src/kill_proxy.cpp | 31 ++++++------------------------- 1 file changed, 6 insertions(+), 25 deletions(-) (limited to 'src/kill_proxy.cpp') diff --git a/src/kill_proxy.cpp b/src/kill_proxy.cpp index 4e0ecd1..aaaa795 100644 --- a/src/kill_proxy.cpp +++ b/src/kill_proxy.cpp @@ -1,21 +1,9 @@ #include -#include #include #include "net/client.hpp" #include "net/conn.hpp" #include "net/server.hpp" -#include "net/types.hpp" - -void forward_packets(net::conn& dst, net::conn& src) -{ - for (int i = 1; i < 255; i++) { - src.reg_handler(i, [&dst, i](std::span data) { - dst.send_packet(i, data); - return true; - }); - } -} int main(int argc, char* argv[]) { @@ -28,23 +16,16 @@ int main(int argc, char* argv[]) auto server_conn = server.connect(); auto proxy_conn = proxy.accept(); - uint8_t slot; - server_conn.reg_handler([&slot](auto& a) { - slot = a.client_id; - return false; - }); - - forward_packets(server_conn, proxy_conn); - forward_packets(proxy_conn, server_conn); - - auto handle_loop = [](net::conn& c) { + auto handle_loop = [](net::conn& src, net::conn& dst) { for (;;) { - c.handle(); + src.handle([&dst] (uint8_t id, std::span payload) { + dst.send_packet(id, payload); + }); } }; - std::thread server_thread(handle_loop, std::ref(server_conn)); - std::thread proxy_thread(handle_loop, std::ref(proxy_conn)); + std::thread server_thread(handle_loop, std::ref(server_conn), std::ref(proxy_conn)); + std::thread proxy_thread(handle_loop, std::ref(proxy_conn), std::ref(server_conn)); while (1) { } -- cgit v1.2.3