48 #ifndef DW_IPC_SOCKETCLIENTSERVER_H_ 49 #define DW_IPC_SOCKETCLIENTSERVER_H_ 51 #include <dw/core/Config.h> 109 dwSocketServerHandle_t server);
167 dwTime_t timeout_us, dwSocketClientHandle_t client);
213 dwSocketConnectionHandle_t connection);
235 dwSocketConnectionHandle_t connection);
272 #endif // DW_IPC_SOCKETCLIENTSERVER_H_ DW_API_PUBLIC dwStatus dwSocketClient_release(dwSocketClientHandle_t client)
Terminate a socket client.
NVIDIA DriveWorks API: Core Types
DW_API_PUBLIC dwStatus dwSocketServer_accept(dwSocketConnectionHandle_t *connection, dwTime_t timeout_us, dwSocketServerHandle_t server)
Accepts an incoming connection at a socket server.
DW_API_PUBLIC dwStatus dwSocketServer_broadcast(const uint8_t *buffer, size_t buffer_size, dwSocketServerHandle_t server)
Broadcasts a message to all connected sockets of the pool.
DW_API_PUBLIC dwStatus dwSocketConnection_release(dwSocketConnectionHandle_t connection)
Terminate a socket connection.
DW_API_PUBLIC dwStatus dwSocketConnection_peek(uint8_t *buffer, size_t *buffer_size, dwTime_t timeout_us, dwSocketConnectionHandle_t connection)
Peek at a message of a given length from the network connection (blocking within timeout period)...
NVIDIA DriveWorks API: Core Methods
DW_API_PUBLIC dwStatus dwSocketClient_connect(dwSocketConnectionHandle_t *connection, const char8_t *host, uint16_t port, dwTime_t timeout_us, dwSocketClientHandle_t client)
Connects a socket connection to a listening socket server.
struct dwSocketConnectionObject * dwSocketConnectionHandle_t
Handle representing the a bi-directional client-server network socket connection. ...
DW_API_PUBLIC dwStatus dwSocketClient_initialize(dwSocketClientHandle_t *client, size_t connection_pool_size, dwContextHandle_t context)
Creates and initializes a socket client.
dwStatus
Status definition.
struct dwSocketClientObject * dwSocketClientHandle_t
Handle representing the a network socket client.
DW_API_PUBLIC dwStatus dwSocketConnection_write(const void *buffer, size_t *buffer_size, dwTime_t timeout_us, dwSocketConnectionHandle_t connection)
Send a message of a given length through the socket connection with a timeout.
int64_t dwTime_t
Specifies a timestamp unit, in microseconds.
DW_API_PUBLIC dwStatus dwSocketServer_initialize(dwSocketServerHandle_t *server, uint16_t port, size_t connection_pool_size, dwContextHandle_t context)
Creates and initializes a socket server accepting incoming client connections.
A structure contains data for POSIX sockaddr_in.
DW_API_PUBLIC dwStatus dwSocketServer_release(dwSocketServerHandle_t server)
Terminate a socket server.
struct dwContextObject * dwContextHandle_t
Context handle.
DW_API_PUBLIC dwStatus dwSocketConnection_read(void *buffer, size_t *buffer_size, dwTime_t timeout_us, dwSocketConnectionHandle_t connection)
Receive a message of a given length from the network connection.
NVIDIA DriveWorks API: Core Exports
struct dwSocketServerObject * dwSocketServerHandle_t
Handle representing the a network socket server.
DW_API_PUBLIC dwStatus dwSocketClient_broadcast(const uint8_t *buffer, size_t buffer_size, dwSocketClientHandle_t client)
Broadcasts a message to all connected sockets of the pool.
NVIDIA DriveWorks API: Core Status Methods