From 200b113b39885f47958a7df8de342de1915ed78d Mon Sep 17 00:00:00 2001 From: Benny Baumann <BenBE@geshi.org> Date: Sat, 2 Jan 2021 21:22:12 +0100 Subject: [PATCH] upd: Code cleanup --- src/net/async_server.cpp | 25 +++++++++++++------------ src/net/async_server.hpp | 3 +-- src/net/ioqueue.hpp | 3 ++- 3 files changed, 16 insertions(+), 15 deletions(-) diff --git a/src/net/async_server.cpp b/src/net/async_server.cpp index 9ad38f8..2433741 100644 --- a/src/net/async_server.cpp +++ b/src/net/async_server.cpp @@ -4,15 +4,17 @@ * Created on: 02.01.2021 * Author: doralitze */ +#include "async_server.hpp" + #include <ev++.h> -#include <utility> -#include "async_server.hpp" +#include <utility> -namespace rmrf::net::asio { +namespace rmrf::net { -async_server_socket::async_server_socket(auto_fd&& socket_fd) : socket(std::forward(socket_fd)), on_accept{}, on_error{}, io{} { +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); @@ -27,6 +29,13 @@ async_server_socket::~async_server_socket() { void async_server_socket::cb_ev(::ev::io &w, int events) { (void) w; + if (events & ::ev::ERROR) { + // Handle errors + // Rebind socket if missed iov res else + // Log and throw? + return; + } + if (events & ::ev::READ) { // Handle incoming clients auto ah = this->get_accept_handler(); @@ -35,12 +44,6 @@ void async_server_socket::cb_ev(::ev::io &w, int events) { if (events & ::ev::WRITE) { // Handle sending data which should be none here } - - if (events & ::ev::ERROR) { - // Handle errors - // Rebind socket if missed iov res else - // Log and throw? - } } inline void async_server_socket::set_accept_handler( @@ -48,10 +51,8 @@ inline void async_server_socket::set_accept_handler( 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 abf03ea..2adf5e2 100644 --- a/src/net/async_server.hpp +++ b/src/net/async_server.hpp @@ -7,7 +7,7 @@ #include <net/async_fd.hpp> -namespace rmrf::net::asio { +namespace rmrf::net { class async_server_socket : public std::enable_shared_from_this<async_server_socket> { public: @@ -37,5 +37,4 @@ private: void cb_ev(::ev::io &w, int events); }; - } diff --git a/src/net/ioqueue.hpp b/src/net/ioqueue.hpp index c8b8e4d..ce8cc08 100644 --- a/src/net/ioqueue.hpp +++ b/src/net/ioqueue.hpp @@ -3,6 +3,7 @@ #include <algorithm> #include <cstdint> #include <deque> +#include <utility> #include <vector> namespace rmrf::net { @@ -16,7 +17,7 @@ namespace rmrf::net { iorecord(const void *buf, size_t size) : offset{0}, data((const uint8_t *)buf, (const uint8_t *)buf + size) { // Nothing special to do here ... - }; + }; iorecord(iorecord&& other) : offset(other.offset), data(std::forward(other.data)) { // Nothing special to do here ... -- GitLab