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 @@
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;
}
}
......@@ -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);
};
}
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