server.c File Reference

#include "server.h"

Defines

#define LSCP_SERVER_SLEEP   30

Functions

const char * lscp_server_package (void)
const char * lscp_server_version (void)
const char * lscp_server_build (void)
lscp_server_tlscp_server_create (int iPort, lscp_server_proc_t pfnCallback, void *pvData)
lscp_server_tlscp_server_create_ex (int iPort, lscp_server_proc_t pfnCallback, void *pvData, lscp_server_mode_t mode)
lscp_status_t lscp_server_join (lscp_server_t *pServer)
lscp_status_t lscp_server_destroy (lscp_server_t *pServer)
lscp_status_t lscp_server_broadcast (lscp_server_t *pServer, lscp_event_t event, const char *pchData, int cchData)
lscp_status_t lscp_server_result (lscp_connect_t *pConnect, const char *pchBuffer, int cchBuffer)
lscp_status_t lscp_server_subscribe (lscp_connect_t *pConnect, lscp_event_t event)
lscp_status_t lscp_server_unsubscribe (lscp_connect_t *pConnect, lscp_event_t event)

Define Documentation

#define LSCP_SERVER_SLEEP   30
 


Function Documentation

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.

Parameters:
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.
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.

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.

Parameters:
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.
Returns:
The new server instance pointer lscp_server_t if successfull, which shall be used on all subsequent server calls, NULL otherwise.

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).

Parameters:
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.
Returns:
The new server instance pointer if successfull, which shall be used on all subsequent server calls, NULL otherwise.

lscp_status_t lscp_server_destroy lscp_server_t pServer  ) 
 

Terminate and destroy a server instance.

Parameters:
pServer Pointer to server instance structure.

lscp_status_t lscp_server_join lscp_server_t pServer  ) 
 

Wait for a server instance to terminate graciously.

Parameters:
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.

Parameters:
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.
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.

lscp_status_t lscp_server_subscribe lscp_connect_t pConnect,
lscp_event_t  event
 

Register client as a subscriber of event broadcast messages.

Parameters:
pConnect Pointer to client connection instance structure.
event Event type flag of the requesting client subscription.
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.

lscp_status_t lscp_server_unsubscribe lscp_connect_t pConnect,
lscp_event_t  event
 

Deregister client as subscriber of event broadcast messages.

Parameters:
pConnect Pointer to client connection instance structure.
event Event type flag of the requesting client unsubscription.
Returns:
LSCP_OK on success, LSCP_FAILED otherwise.

const char* lscp_server_version void   ) 
 

Retrieve the current server library version string.


Generated on Thu Aug 25 07:42:10 2005 for liblscp by  doxygen 1.4.4