Provides functionality for inter-process communication (IPC).
Typedefs | |
| typedef struct dwSocketClientObject * | dwSocketClientHandle_t |
| Handle representing the a network socket client. More... | |
| typedef struct dwSocketConnectionObject * | dwSocketConnectionHandle_t |
| Handle representing the a bi-directional client-server network socket connection. More... | |
| typedef struct dwSocketServerObject * | dwSocketServerHandle_t |
| Handle representing the a network socket server. More... | |
Functions | |
| DW_API_PUBLIC dwStatus | dwSocketClient_broadcast (uint8_t const *const buffer, size_t const bufferSize, dwSocketClientHandle_t const client) |
| Broadcasts a message to all connected sockets of the pool. More... | |
| DW_API_PUBLIC dwStatus | dwSocketClient_connect (dwSocketConnectionHandle_t *const connection, char8_t const *const host, uint16_t const port, dwTime_t const timeoutUs, dwSocketClientHandle_t const client) |
| Connects a socket connection to a listening socket server. More... | |
| DW_API_PUBLIC dwStatus | dwSocketClient_initialize (dwSocketClientHandle_t *const client, size_t const connectionPoolSize, dwConstContextHandle_t const context) |
| Creates and initializes a socket client. More... | |
| DW_API_PUBLIC dwStatus | dwSocketClient_release (dwSocketClientHandle_t const client) |
| Terminate a socket client. More... | |
| DW_API_PUBLIC dwStatus | dwSocketConnection_peek (uint8_t *const buffer, size_t *const bufferSize, dwTime_t const timeoutUs, dwSocketConnectionHandle_t const connection) |
| Peek at a message of a given length from the network connection (blocking within timeout period). More... | |
| DW_API_PUBLIC dwStatus | dwSocketConnection_read (void *const buffer, size_t *const bufferSize, dwTime_t const timeoutUs, dwSocketConnectionHandle_t const connection) |
| Receive a message of a given length from the network connection. More... | |
| DW_API_PUBLIC dwStatus | dwSocketConnection_release (dwSocketConnectionHandle_t const connection) |
| Terminate a socket connection. More... | |
| DW_API_PUBLIC dwStatus | dwSocketConnection_write (const void *const buffer, size_t *const bufferSize, dwTime_t const timeoutUs, dwSocketConnectionHandle_t const connection) |
| Send a message of a given length through the socket connection with a timeout. More... | |
| DW_API_PUBLIC dwStatus | dwSocketServer_accept (dwSocketConnectionHandle_t *const connection, dwTime_t const timeoutUs, dwSocketServerHandle_t const server) |
| Accepts an incoming connection at a socket server. More... | |
| DW_API_PUBLIC dwStatus | dwSocketServer_broadcast (uint8_t const *const buffer, size_t const bufferSize, dwSocketServerHandle_t const server) |
| Broadcasts a message to all connected sockets of the pool. More... | |
| DW_API_PUBLIC dwStatus | dwSocketServer_initialize (dwSocketServerHandle_t *const server, uint16_t const port, size_t const connectionPoolSize, dwConstContextHandle_t const context) |
| Creates and initializes a socket server accepting incoming client connections. More... | |
| DW_API_PUBLIC dwStatus | dwSocketServer_release (dwSocketServerHandle_t const server) |
| Terminate a socket server. More... | |
| typedef struct dwSocketClientObject* dwSocketClientHandle_t |
Handle representing the a network socket client.
Definition at line 63 of file SocketClientServer.h.
| typedef struct dwSocketConnectionObject* dwSocketConnectionHandle_t |
Handle representing the a bi-directional client-server network socket connection.
Definition at line 66 of file SocketClientServer.h.
| typedef struct dwSocketServerObject* dwSocketServerHandle_t |
Handle representing the a network socket server.
Definition at line 60 of file SocketClientServer.h.
| DW_API_PUBLIC dwStatus dwSocketClient_broadcast | ( | uint8_t const *const | buffer, |
| size_t const | bufferSize, | ||
| dwSocketClientHandle_t const | client | ||
| ) |
Broadcasts a message to all connected sockets of the pool.
| [in] | buffer | A pointer to the data to be send. |
| [in] | bufferSize | The number of bytes to send. |
| [in] | client | A handle to the socket client. |
| DW_API_PUBLIC dwStatus dwSocketClient_connect | ( | dwSocketConnectionHandle_t *const | connection, |
| char8_t const *const | host, | ||
| uint16_t const | port, | ||
| dwTime_t const | timeoutUs, | ||
| dwSocketClientHandle_t const | client | ||
| ) |
Connects a socket connection to a listening socket server.
| [out] | connection | A pointer to the socket connection handle will be returned here. |
| [in] | host | A pointer to string representation of the the server's IP address or hostname. |
| [in] | port | The network port the server is listening on. |
| [in] | timeoutUs | Timeout to block this call. |
| [in] | client | A handle to the socket client. |
| DW_API_PUBLIC dwStatus dwSocketClient_initialize | ( | dwSocketClientHandle_t *const | client, |
| size_t const | connectionPoolSize, | ||
| dwConstContextHandle_t const | context | ||
| ) |
Creates and initializes a socket client.
| [out] | client | A pointer to the client handle will be returned here. |
| [in] | connectionPoolSize | The maximal number of concurrently connected connections. |
| [in] | context | Specifies the handle to the context under which the socket client is created. |
| DW_API_PUBLIC dwStatus dwSocketClient_release | ( | dwSocketClientHandle_t const | client | ) |
Terminate a socket client.
| [in] | client | A handle to the socket client. |
| DW_API_PUBLIC dwStatus dwSocketConnection_peek | ( | uint8_t *const | buffer, |
| size_t *const | bufferSize, | ||
| dwTime_t const | timeoutUs, | ||
| dwSocketConnectionHandle_t const | connection | ||
| ) |
Peek at a message of a given length from the network connection (blocking within timeout period).
| [in] | buffer | A pointer to the memory location data is written to. |
| [in,out] | bufferSize | A pointer to the number of bytes to receive, and the actual number of bytes received on success. |
| [in] | timeoutUs | Timeout to block this call. Specify 0 for non-blocking behavior. Specify DW_TIMEOUT_INFINITE for infinitely blocking behavior until data is available. |
| [in] | connection | A handle to the network socket connection. |
| DW_API_PUBLIC dwStatus dwSocketConnection_read | ( | void *const | buffer, |
| size_t *const | bufferSize, | ||
| dwTime_t const | timeoutUs, | ||
| dwSocketConnectionHandle_t const | connection | ||
| ) |
Receive a message of a given length from the network connection.
The method blocks for the provided amount of time to receive the data.
| [in] | buffer | A pointer to the memory location data is written to. |
| [in,out] | bufferSize | A pointer to the number of bytes to receive, and the actual number of bytes received. |
| [in] | timeoutUs | Time to wait to receive the content. Can be 0 for non-blocking and DW_TIMEOUT_INFINITE for blocking mode |
| [in] | connection | A handle to the network socket connection. |
| DW_API_PUBLIC dwStatus dwSocketConnection_release | ( | dwSocketConnectionHandle_t const | connection | ) |
Terminate a socket connection.
| [in] | connection | A handle to the socket connection. |
| DW_API_PUBLIC dwStatus dwSocketConnection_write | ( | const void *const | buffer, |
| size_t *const | bufferSize, | ||
| dwTime_t const | timeoutUs, | ||
| dwSocketConnectionHandle_t const | connection | ||
| ) |
Send a message of a given length through the socket connection with a timeout.
While sending has not timedout, the buffer will be retried to be sent as long as possible.
| [in] | buffer | A pointer to the data to be send. |
| [in,out] | bufferSize | A pointer to the number of bytes to send, and the actual number of bytes sent. |
| [in] | timeoutUs | Amount of time to try to send the data |
| [in] | connection | A handle to the network socket connection. |
| DW_API_PUBLIC dwStatus dwSocketServer_accept | ( | dwSocketConnectionHandle_t *const | connection, |
| dwTime_t const | timeoutUs, | ||
| dwSocketServerHandle_t const | server | ||
| ) |
Accepts an incoming connection at a socket server.
| [out] | connection | A pointer to the socket connection handle will be returned here. |
| [in] | timeoutUs | Timeout to block this call. |
| [in] | server | A handle to the socket server. |
| DW_API_PUBLIC dwStatus dwSocketServer_broadcast | ( | uint8_t const *const | buffer, |
| size_t const | bufferSize, | ||
| dwSocketServerHandle_t const | server | ||
| ) |
Broadcasts a message to all connected sockets of the pool.
| [in] | buffer | A pointer to the data to be send. |
| [in] | bufferSize | The number of bytes to send. |
| [in] | server | A handle to the socket server. |
| DW_API_PUBLIC dwStatus dwSocketServer_initialize | ( | dwSocketServerHandle_t *const | server, |
| uint16_t const | port, | ||
| size_t const | connectionPoolSize, | ||
| dwConstContextHandle_t const | context | ||
| ) |
Creates and initializes a socket server accepting incoming client connections.
| [out] | server | A pointer to the server handle will be returned here. |
| [in] | port | The network port the server is listening on. |
| [in] | connectionPoolSize | The maximal number of concurrently acceptable connections. |
| [in] | context | Specifies the handle to the context under which the socket server is created. |
| DW_API_PUBLIC dwStatus dwSocketServer_release | ( | dwSocketServerHandle_t const | server | ) |
Terminate a socket server.
| [in] | server | A handle to the socket server. |