14 void run_once(
int timeout_ms)
override;
27 struct io_uring ring_;
44 std::function<void(
ssize_t)> io_cb;
45 std::function<void()> wait_cb;
46 std::function<void(
socket_t, sockaddr_in)> accept_cb;
47 std::function<void(
int)> connect_cb;
49 sockaddr_in client_addr{};
50 socklen_t client_len{
sizeof(sockaddr_in)};
58 struct io_uring_sqe* get_sqe_safe();
Definition IoUringProactor.hpp:9
void async_wait_write(socket_t fd, std::function< void()> callback) override
Definition IoUringProactor.cpp:82
void remove(socket_t fd) override
Definition IoUringProactor.cpp:159
void async_sendfile(socket_t out_fd, int in_fd, off_t offset, size_t count, std::function< void(ssize_t)> callback) override
Definition IoUringProactor.cpp:99
~IoUringProactor() override
Definition IoUringProactor.cpp:16
void run_once(int timeout_ms) override
Definition IoUringProactor.cpp:171
void async_accept(socket_t fd, std::function< void(socket_t, sockaddr_in)> callback) override
Definition IoUringProactor.cpp:121
void async_wait_read(socket_t fd, std::function< void()> callback) override
Definition IoUringProactor.cpp:65
void async_write(socket_t fd, const void *buffer, size_t size, std::function< void(ssize_t)> callback) override
Definition IoUringProactor.cpp:47
void async_read(socket_t fd, void *buffer, size_t size, std::function< void(ssize_t)> callback) override
Definition IoUringProactor.cpp:29
void async_connect(socket_t fd, const sockaddr_in &addr, std::function< void(int)> callback) override
Definition IoUringProactor.cpp:140
Definition Proactor.hpp:8
Definition ResponseWriter.hpp:7
::socklen_t socklen_t
Definition PlatformSocket.hpp:40
int socket_t
Definition PlatformSocket.hpp:36
::ssize_t ssize_t
Definition PlatformSocket.hpp:41