From f48e6ff6d749e6eede5d7e8e220ece26fa4a6eae Mon Sep 17 00:00:00 2001 From: Doralitze <doralitze@chaotikum.org> Date: Sat, 2 Jan 2021 20:06:46 +0100 Subject: [PATCH] chg: Working on libev integration withion async_socket --- src/net/async_server.hpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/net/async_server.hpp b/src/net/async_server.hpp index f192884..eddbba2 100644 --- a/src/net/async_server.hpp +++ b/src/net/async_server.hpp @@ -1,5 +1,7 @@ #pragma once +#include <ev++.h> + #include <functional> #include <memory> @@ -20,12 +22,18 @@ private: accept_handler_type on_accept; error_handler_type on_error; + ev::io io; + public: async_server_socket(auto_fd&& fd) : socket(std::forward(fd)) { - // Add this socket to libev ... + // This constructor got a constructed socket as an argument + // and forwards it to libev + io.set<async_server_socket, &async_server_socket::get_accept_handler()>(this); + io.start(this->socket, ev::READ); } ~async_server_socket() { // Remove this socket from libev ... + io.stop(); } public: -- GitLab