From cc7bb8b8958975d2d8f7c198874d641fda506349 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Mon, 5 Jun 2023 10:58:55 -0500 Subject: [PATCH] added: `net.socket_poll` --- core/net/net.onyx | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/core/net/net.onyx b/core/net/net.onyx index 601463b0..0cc0f6e8 100644 --- a/core/net/net.onyx +++ b/core/net/net.onyx @@ -32,6 +32,7 @@ Socket :: struct { recv :: socket_recv recv_into :: socket_recv_into recvfrom :: socket_recvfrom + poll :: socket_poll } SocketError :: enum { @@ -187,6 +188,16 @@ socket_poll_all :: (sockets: [] &Socket, timeout := -1, stat_buff: [] Socket_Pol __net_poll_recv(handles, timeout, stat_buff.data); } +socket_poll :: (socket: &Socket, timeout := -1) -> Socket_Poll_Status { + handles := alloc.array_from_stack(Socket.Handle, 1); + handles[0] = socket.handle; + + stat: Socket_Poll_Status; + __net_poll_recv(handles, timeout, &stat); + + return stat; +} + socket_send :: (s: &Socket, data: [] u8) -> i32 { sent := __net_send(s.handle, data); if sent < 0 { s.vtable = null; } -- 2.25.1