Connection based network message client.
More...
|
typedef struct vtm_nm_stream_client | vtm_nm_stream_client |
|
#define VTM_NM_STREAM_CL_OPT_RECV_TIMEOUT 1 |
expects unsigned long, value is millisceonds
VTM_API vtm_nm_stream_client* vtm_nm_stream_client_new |
( |
void |
| ) |
|
Creates a new client.
- Returns
- the created client which can be used in the other functions
-
NULL if an error occured
VTM_API void vtm_nm_stream_client_free |
( |
vtm_nm_stream_client * |
cl | ) |
|
Releases the client and all allocated resources.
After this call the client pointer is no longer valid.
- Parameters
-
cl | the client that should be released |
VTM_API int vtm_nm_stream_client_set_opt |
( |
vtm_nm_stream_client * |
cl, |
|
|
int |
opt, |
|
|
const void * |
val, |
|
|
size_t |
len |
|
) |
| |
Sets one of the possible options.
The possible options are macros starting with VTM_NM_STREAM_CL_OPT_.
- Parameters
-
cl | the client where the option should be set |
opt | the option that should be set |
val | pointer to new value of the option |
len | size of the value |
- Returns
- VTM_OK if the option was successfully set
-
VTM_E_NOT_SUPPORTED if the given option or the value format is not supported
-
VTM_ERROR if an error occured
Connects to given message server.
- Parameters
-
cl | the client |
opts | connection options |
- Returns
- VTM_OK if the client connected to the server
-
VTM_E_IO_UNKNOWN or VTM_ERROR if an error occured
VTM_API int vtm_nm_stream_client_close |
( |
vtm_nm_stream_client * |
cl | ) |
|
Closes the connection to the server.
- Parameters
-
cl | the client that should close the connection |
- Returns
- VTM_OK if the connection was closed successfully
-
VTM_E_IO_UNKNOWN or VTM_ERROR if an error occured
VTM_API int vtm_nm_stream_client_send |
( |
vtm_nm_stream_client * |
cl, |
|
|
vtm_dataset * |
msg |
|
) |
| |
Sends a message to the server.
- Parameters
-
cl | the client |
msg | the dataset containing the message values |
- Returns
- VTM_OK if the message was successfully sent
-
VTM_E_INVALID_STATE if client is not connected to a server
-
VTM_E_IO_UNKNOWN or VTM_ERROR if an error occured
VTM_API int vtm_nm_stream_client_recv |
( |
vtm_nm_stream_client * |
cl, |
|
|
vtm_dataset * |
msg |
|
) |
| |
Tries to receive a message.
- Parameters
-
| cl | the client |
[out] | msg | the dataset where the received message is stored |
- Returns
- VTM_OK if a message was successfully received
-
VTM_E_INVALID_STATE if client is not connected to a server
-
VTM_E_TIMEOUT if the timeout elapsed and no message was received
-
VTM_E_IO_UNKNOWN or VTM_ERROR if an error occured