Skip to content
Snippets Groups Projects
Commit 50d9cff2 authored by Leon Dietrich's avatar Leon Dietrich
Browse files

fix: explicit constructor initializer list

parent fc8b7254
No related branches found
No related tags found
No related merge requests found
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
namespace rmrf::net::asio { 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 // This constructor got a constructed socket as an argument
// and forwards it to libev // and forwards it to libev
io.set<async_server_socket, &async_server_socket::cb_ev>(this); 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) { ...@@ -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;
}
} }
...@@ -28,34 +28,14 @@ public: ...@@ -28,34 +28,14 @@ public:
async_server_socket(auto_fd &&fd); async_server_socket(auto_fd &&fd);
~async_server_socket(); ~async_server_socket();
public:
void cb_ev(::ev::io &w, int events); void cb_ev(::ev::io &w, int events);
accept_handler_type get_accept_handler() const { accept_handler_type get_accept_handler() const;
return on_accept; void set_accept_handler(const accept_handler_type &value);
}
void set_accept_handler(const accept_handler_type &value) {
on_accept = value;
}
private: private:
void cb_ev(::ev::io &w, int events) 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
}
}
}; };
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment