#include "lscp/socket.h"
#include "lscp/event.h"
Go to the source code of this file.
typedef enum _lscp_connect_mode_t lscp_connect_mode_t |
Connection mode notification.
typedef enum _lscp_server_mode_t lscp_server_mode_t |
Server thread model.
typedef lscp_status_t(* lscp_server_proc_t)(lscp_connect_t *pConnect, const char *pchBuffer, int cchBuffer, void *pvData) |
Server callback procedure prototype.
enum _lscp_connect_mode_t |
enum _lscp_server_mode_t |
lscp_status_t lscp_server_broadcast | ( | lscp_server_t * | pServer, | |
lscp_event_t | event, | |||
const char * | pchData, | |||
int | cchData | |||
) |
Send an event notification message to all subscribed clients.
pServer | Pointer to server instance structure. | |
event | Event type flag to send to all subscribed clients. | |
pchData | Pointer to event data to be sent to all clients. | |
cchData | Length of the event data to be sent in bytes. |
const char* lscp_server_build | ( | void | ) |
Retrieve the current server library build timestamp string.
lscp_server_t* lscp_server_create | ( | int | iPort, | |
lscp_server_proc_t | pfnCallback, | |||
void * | pvData | |||
) |
Create a server instance, listening on the given port for client connections. A server callback function must be suplied that will handle every and each client request.
iPort | Port number where the server will bind for listening. | |
pfnCallback | Callback function to receive and handle client requests. | |
pvData | Server context opaque data, that will be passed to the callback function without change. |
lscp_server_t* lscp_server_create_ex | ( | int | iPort, | |
lscp_server_proc_t | pfnCallback, | |||
void * | pvData, | |||
lscp_server_mode_t | mode | |||
) |
Create a server instance, listening on the given port for client connections. A server callback function must be suplied that will handle every and each client request. A server threading model maybe specified either as multi-threaded (one thread per client) or single thread multiplex mode (one thread serves all clients).
iPort | Port number where the server will bind for listening. | |
pfnCallback | Callback function to receive and handle client requests. | |
pvData | Server context opaque data, that will be passed to the callback function without change. | |
mode | Server mode of operation, regarding the internal threading model, either LSCP_SERVER_THREAD for a multi-threaded server, or LSCP_SERVER_SELECT for a single-threaded multiplexed server. |
lscp_status_t lscp_server_destroy | ( | lscp_server_t * | pServer | ) |
Terminate and destroy a server instance.
pServer | Pointer to server instance structure. |
lscp_status_t lscp_server_join | ( | lscp_server_t * | pServer | ) |
Wait for a server instance to terminate graciously.
pServer | Pointer to server instance structure. |
const char* lscp_server_package | ( | void | ) |
Retrieve the current server library version string.
lscp_status_t lscp_server_result | ( | lscp_connect_t * | pConnect, | |
const char * | pchBuffer, | |||
int | cchBuffer | |||
) |
Send response for the current client callback request.
pConnect | Pointer to client connection instance structure. | |
pchBuffer | Pointer to data to be sent to the client as response. | |
cchBuffer | Length of the response data to be sent in bytes. |
lscp_status_t lscp_server_subscribe | ( | lscp_connect_t * | pConnect, | |
lscp_event_t | event | |||
) |
Register client as a subscriber of event broadcast messages.
pConnect | Pointer to client connection instance structure. | |
event | Event type flag of the requesting client subscription. |
lscp_status_t lscp_server_unsubscribe | ( | lscp_connect_t * | pConnect, | |
lscp_event_t | event | |||
) |
Deregister client as subscriber of event broadcast messages.
pConnect | Pointer to client connection instance structure. | |
event | Event type flag of the requesting client unsubscription. |
const char* lscp_server_version | ( | void | ) |
Retrieve the current server library version string.