From 50d9cff295b9387e4598d759edb4f3430ea0be16 Mon Sep 17 00:00:00 2001 From: Doralitze <doralitze@chaotikum.org> Date: Sat, 2 Jan 2021 21:13:11 +0100 Subject: [PATCH] fix: explicit constructor initializer list --- src/net/async_server.cpp | 12 +++++++++++- src/net/async_server.hpp | 28 ++++------------------------ 2 files changed, 15 insertions(+), 25 deletions(-) diff --git a/src/net/async_server.cpp b/src/net/async_server.cpp index 9499f2f..9ad38f8 100644 --- a/src/net/async_server.cpp +++ b/src/net/async_server.cpp @@ -12,7 +12,7 @@ namespace rmrf::net::asio { -async_server_socket::async_server_socket(auto_fd&& socket_fd) : socket(std::forward(socket_fd)) { +async_server_socket::async_server_socket(auto_fd&& socket_fd) : socket(std::forward(socket_fd)), on_accept{}, on_error{}, io{} { // This constructor got a constructed socket as an argument // and forwards it to libev io.set<async_server_socket, &async_server_socket::cb_ev>(this); @@ -43,5 +43,15 @@ void async_server_socket::cb_ev(::ev::io &w, int events) { } } +inline void async_server_socket::set_accept_handler( + const accept_handler_type &value) { + on_accept = value; +} + + +inline async_server_socket::accept_handler_type async_server_socket::get_accept_handler() const { + return on_accept; +} + } diff --git a/src/net/async_server.hpp b/src/net/async_server.hpp index a269d18..abf03ea 100644 --- a/src/net/async_server.hpp +++ b/src/net/async_server.hpp @@ -28,34 +28,14 @@ public: async_server_socket(auto_fd &&fd); ~async_server_socket(); -public: void cb_ev(::ev::io &w, int events); - accept_handler_type get_accept_handler() const { - return on_accept; - } - void set_accept_handler(const accept_handler_type &value) { - on_accept = value; - } + accept_handler_type get_accept_handler() const; + void set_accept_handler(const accept_handler_type &value); private: - void cb_ev(::ev::io &w, int events) - { - (void)w; - - if (events & ::ev::READ) { - auto ah = this->get_accept_handler(); - // Handle accepting clients - } - - if (events & ::ev::WRITE) { - // Handle sending data (none for servers) - } - - if (events & ::ev::ERROR) { - // Handle error conditions - } - } + void cb_ev(::ev::io &w, int events); }; + } -- GitLab