aboutsummaryrefslogtreecommitdiff
path: root/core/net
diff options
context:
space:
mode:
authorPePerRoNii <wachiraphol.yin@gmail.com>2025-06-11 12:57:22 +0700
committerPePerRoNii <wachiraphol.yin@gmail.com>2025-06-11 12:57:22 +0700
commit7ba4427d52d201b6dd913395d6fb2eb94506ecf6 (patch)
tree40a9cd8ee23b971273541de4caf288466e027c9a /core/net
parent5e11af96767f112f610526b702d7962f1e04978a (diff)
added windows implementation
Diffstat (limited to 'core/net')
-rw-r--r--core/net/socket_windows.odin14
1 files changed, 14 insertions, 0 deletions
diff --git a/core/net/socket_windows.odin b/core/net/socket_windows.odin
index 4576149de..948ccfc5f 100644
--- a/core/net/socket_windows.odin
+++ b/core/net/socket_windows.odin
@@ -190,6 +190,20 @@ _bound_endpoint :: proc(sock: Any_Socket) -> (ep: Endpoint, err: Listen_Error) {
}
@(private)
+_peer_endpoint :: proc(sock: Any_Socket) -> (ep: Endpoint, err: TCP_Recv_Error) {
+ sockaddr: win.SOCKADDR_STORAGE_LH
+ sockaddrlen := c.int(size_of(sockaddr))
+ res := win.getpeername(win.SOCKET(any_socket_to_socket(sock)), &sockaddr, &sockaddrlen)
+ if res < 0 {
+ err = _tcp_recv_error()
+ return
+ }
+
+ ep = _sockaddr_to_endpoint(&sockaddr)
+ return
+}
+
+@(private)
_accept_tcp :: proc(sock: TCP_Socket, options := DEFAULT_TCP_OPTIONS) -> (client: TCP_Socket, source: Endpoint, err: Accept_Error) {
for {
sockaddr: win.SOCKADDR_STORAGE_LH