46 typedef struct sUdpSocket* UdpSocket;
57 SOCKET_STATE_CONNECTING = 0,
58 SOCKET_STATE_FAILED = 1,
59 SOCKET_STATE_CONNECTED = 2
132 UdpSocket_create(
void);
135 UdpSocket_bind(UdpSocket
self,
const char* address,
int port);
138 UdpSocket_sendTo(UdpSocket
self,
const char* address,
int port, uint8_t* msg,
int msgSize);
267 Socket_connectAsync(
Socket self,
const char* address,
int port);
270 Socket_checkAsyncConnectState(
Socket self);
304 Socket_getLocalAddress(
Socket self);
PAL_API HandleSet Handleset_new(void)
Create a new connection handle set (HandleSet)
PAL_API bool Socket_bind(Socket self, const char *srcAddress, int srcPort)
bind a socket to a particular IP address and port (for TcpSocket)
PAL_API ServerSocket TcpServerSocket_create(const char *address, int port)
Create a new TcpServerSocket instance.
PAL_API char * Socket_getPeerAddress(Socket self)
Get the address of the peer application (IP address and port number)
PAL_API int Socket_write(Socket self, uint8_t *buf, int size)
send a message through the socket
PAL_API int UdpSocket_receiveFrom(UdpSocket self, char *address, int maxAddrSize, uint8_t *msg, int msgSize)
Receive data from UDP socket (store data and (optionally) the IP address of the sender.
PAL_API Socket TcpSocket_create(void)
create a TCP client socket
PAL_API void Handleset_addSocket(HandleSet self, const Socket sock)
add a socket to an existing handle set
PAL_API int Socket_read(Socket self, uint8_t *buf, int size)
read from socket to local buffer (non-blocking)
PAL_API int Handleset_waitReady(HandleSet self, unsigned int timeoutMs)
wait for a socket to become ready
PAL_API bool Socket_connect(Socket self, const char *address, int port)
connect to a server
PAL_API void Socket_destroy(Socket self)
destroy a socket (close the socket if a connection is established)
struct sHandleSet * HandleSet
Definition: hal_socket.h:52
PAL_API char * Socket_getPeerAddressStatic(Socket self, char *peerAddressString)
Get the address of the peer application (IP address and port number)
PAL_API Socket ServerSocket_accept(ServerSocket self)
accept a new incoming connection (non-blocking)
PAL_API void ServerSocket_setBacklog(ServerSocket self, int backlog)
set the maximum number of pending connections in the queue
struct sSocket * Socket
Definition: hal_socket.h:49
PAL_API void Socket_activateTcpKeepAlive(Socket self, int idleTime, int interval, int count)
active TCP keep alive for socket and set keep alive parameters
PAL_API void ServerSocket_destroy(ServerSocket self)
destroy a server socket instance
PAL_API void Handleset_reset(HandleSet self)
Reset the handle set for reuse.
PAL_API void Handleset_destroy(HandleSet self)
destroy the HandleSet instance
PAL_API void Socket_setConnectTimeout(Socket self, uint32_t timeoutInMs)
set the timeout to establish a new connection
SocketState
Definition: hal_socket.h:56
struct sServerSocket * ServerSocket
Definition: hal_socket.h:44
void Handleset_removeSocket(HandleSet self, const Socket sock)
remove a socket from an existing handle set