From ac54470e8aeddc2acf9ae215241c77a2bf7e33e3 Mon Sep 17 00:00:00 2001 From: Aki Date: Thu, 31 Mar 2022 23:13:58 +0200 Subject: Reformatted NetSock closer to the rest of NetEx --- NetEx/NetSock.cpp | 53 +++++++++++++++++++++++++++++++---------------------- 1 file changed, 31 insertions(+), 22 deletions(-) (limited to 'NetEx') diff --git a/NetEx/NetSock.cpp b/NetEx/NetSock.cpp index 3d3da63..12778b7 100644 --- a/NetEx/NetSock.cpp +++ b/NetEx/NetSock.cpp @@ -17,10 +17,10 @@ #include using socklen_t = int; #else -#include +#include #include +#include #include -#include #define INVALID_SOCKET -1 #define SOCKET_ERROR -1 #define WSAENETDOWN ENETDOWN @@ -34,18 +34,21 @@ using socklen_t = int; #endif #include +#include #include "NetAddr.h" #include "NetLayer.h" #include "Text.h" -// +-------------------------------------------------------------------+ /** * Server-side socket constructor */ -NetSock::NetSock(bool str) - : stream(str), closed(false), stat(0), current_timeout(9999) +NetSock::NetSock(bool str) : + stream(str), + closed(false), + stat(0), + current_timeout(9999) { if (stream) s = ::socket(AF_INET, SOCK_STREAM, 0); @@ -53,23 +56,33 @@ NetSock::NetSock(bool str) s = ::socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); } + /** * Server-side socket constructor * * PRIVATE: used only by the accept call to build a socket for * a client connection to this server */ -NetSock::NetSock(int sock, bool str) - : s(sock), stream(str), closed(false), stat(0), current_timeout(9999) -{ } +NetSock::NetSock(int sock, bool str) : + s(sock), + stream(str), + closed(false), + stat(0), + current_timeout(9999) +{ +} + /** * Client-side socket constructor * * Will connect to server at "addr" */ -NetSock::NetSock(const NetAddr& addr, bool str) - : stream(str), closed(false), stat(0), current_timeout(9999) +NetSock::NetSock(const NetAddr& addr, bool str) : + stream(str), + closed(false), + stat(0), + current_timeout(9999) { if (stream) s = ::socket(AF_INET, SOCK_STREAM, 0); @@ -79,12 +92,12 @@ NetSock::NetSock(const NetAddr& addr, bool str) connect(addr); } + NetSock::~NetSock() { close(); } -// +--------------------------------------------------------------------+ int NetSock::bind(const NetAddr& addr) @@ -93,6 +106,7 @@ NetSock::bind(const NetAddr& addr) return stat = ::bind(s, addr.GetSockAddr(), addr.GetSockAddrLength()); } + int NetSock::connect(const NetAddr& addr) { @@ -100,6 +114,7 @@ NetSock::connect(const NetAddr& addr) return stat = ::connect(s, addr.GetSockAddr(), addr.GetSockAddrLength()); } + int NetSock::listen(int max_connections) { @@ -107,6 +122,7 @@ NetSock::listen(int max_connections) return stat = ::listen(s, max_connections); } + NetSock* NetSock::accept(NetAddr* addr) { @@ -134,7 +150,6 @@ NetSock::accept(NetAddr* addr) return new NetSock(conn, stream); } -// +--------------------------------------------------------------------+ int NetSock::send(Text msg) @@ -143,12 +158,13 @@ NetSock::send(Text msg) return stat = ::send(s, msg.data(), msg.length(), 0); } + Text NetSock::recv() { if (closed || s == INVALID_SOCKET) return ""; - static char rbuf[8192]; + thread_local char rbuf[8192]; int rlen = -1; if (stream) { @@ -188,8 +204,6 @@ NetSock::recv() } -// +--------------------------------------------------------------------+ - int NetSock::sendto(Text msg, const NetAddr& dest) { @@ -198,12 +212,13 @@ NetSock::sendto(Text msg, const NetAddr& dest) 0, dest.GetSockAddr(), dest.GetSockAddrLength()); } + Text NetSock::recvfrom(NetAddr* a) { if (closed || s == INVALID_SOCKET) return ""; - static char rbuf[4096]; + thread_local char rbuf[4096]; int rlen = 0; if (a) { @@ -227,7 +242,6 @@ NetSock::recvfrom(NetAddr* a) return Text(rbuf, rlen); } -// +--------------------------------------------------------------------+ int NetSock::select(SELECT_TYPE t, long seconds, long microseconds) @@ -252,7 +266,6 @@ NetSock::select(SELECT_TYPE t, long seconds, long microseconds) return 0; } -// +--------------------------------------------------------------------+ int NetSock::set_timeout(int msecs) @@ -305,7 +318,6 @@ NetSock::set_timeout(int msecs) return 1; } -// +--------------------------------------------------------------------+ int NetSock::shutdown_input() @@ -319,7 +331,6 @@ NetSock::shutdown_input() return 0; } -// +--------------------------------------------------------------------+ int NetSock::shutdown_output() @@ -333,7 +344,6 @@ NetSock::shutdown_output() return 0; } -// +--------------------------------------------------------------------+ int NetSock::close() @@ -353,7 +363,6 @@ NetSock::close() return 0; } -// +--------------------------------------------------------------------+ std::uint32_t NetSock::max_packet_size() const -- cgit v1.1