|
#define | EAPI |
|
#define | ECORE_IPC_SWAP2NET64(x) (x) |
|
#define | ECORE_IPC_SWAP2CPU64(x) (x) |
|
#define | ECORE_IPC_SWAP2NET32(x) (x) |
|
#define | ECORE_IPC_SWAP2CPU32(x) (x) |
|
#define | ECORE_IPC_SWAP2NET16(x) (x) |
|
#define | ECORE_IPC_SWAP2CPU16(x) (x) |
|
#define | ECORE_IPC_SWAP2NET8(x) (x) |
|
#define | ECORE_IPC_SWAP2CPU8(x) (x) |
|
#define | ECORE_IPC_GET64(v) |
|
#define | ECORE_IPC_GET32(v) |
|
#define | ECORE_IPC_GET16(v) |
|
#define | ECORE_IPC_GET8(v) |
|
#define | ECORE_IPC_PUT64(v) |
|
#define | ECORE_IPC_PUT32(v) |
|
#define | ECORE_IPC_PUT16(v) |
|
#define | ECORE_IPC_PUT8(v) |
|
#define | ECORE_IPC_PAD8() ptr += 1 |
|
#define | ECORE_IPC_PAD16() ptr += 2 |
|
#define | ECORE_IPC_PAD32() ptr += 4 |
|
#define | ECORE_IPC_PAD64() ptr += 8 |
|
#define | ECORE_IPC_CNT8() len += 1 |
|
#define | ECORE_IPC_CNT16() len += 2 |
|
#define | ECORE_IPC_CNT32() len += 4 |
|
#define | ECORE_IPC_CNT64() len += 8 |
|
#define | ECORE_IPC_CHEKS() if (*((unsigned char *)d + s - 1) != 0) return 0; |
|
#define | ECORE_IPC_GETS(v) |
|
#define | ECORE_IPC_PUTS(v, l) |
|
#define | ECORE_IPC_SLEN(l, v) ((l = strlen(p->v)) + 1) |
|
#define | ECORE_IPC_CNTS(v) len += strlen(p->v) + 1 |
|
#define | ECORE_IPC_DEC_STRUCT_PROTO(x) static int x(void *d, int s, void *pp) |
|
#define | ECORE_IPC_ENC_STRUCT_PROTO(x) static void *x(void *pp, int *s) |
|
#define | ECORE_IPC_DEC_EINA_LIST_PROTO(x) static Eina_List *x(void *d, int s) |
|
#define | ECORE_IPC_ENC_EINA_LIST_PROTO(x) static void *x(Eina_List *lp, int *s) |
|
#define | ECORE_IPC_DEC_STRUCT_HEAD_EXACT(typ, x) |
|
#define | ECORE_IPC_DEC_STRUCT_HEAD_MIN(typ, x) |
|
#define | ECORE_IPC_DEC_STRUCT_FOOT() return 1 |
|
#define | ECORE_IPC_ENC_STRUCT_HEAD(typ, sz) |
|
#define | ECORE_IPC_ENC_STRUCT_FOOT() return d |
|
#define | ECORE_IPC_DEC_EINA_LIST_HEAD(typ) |
|
#define | ECORE_IPC_DEC_EINA_LIST_FOOT() |
|
#define | ECORE_IPC_ENC_EINA_LIST_HEAD_START(typ) |
|
#define | ECORE_IPC_ENC_EINA_LIST_HEAD_FINISH() |
|
#define | ECORE_IPC_ENC_EINA_LIST_FOOT() |
|
|
EAPI unsigned short | _ecore_ipc_swap_16 (unsigned short v) EINA_DEPRECATED |
|
EAPI unsigned int | _ecore_ipc_swap_32 (unsigned int v) EINA_DEPRECATED |
|
EAPI unsigned long long | _ecore_ipc_swap_64 (unsigned long long v) EINA_DEPRECATED |
|
EAPI int | ecore_ipc_init (void) |
| Initialises the Ecore IPC library. More...
|
|
EAPI int | ecore_ipc_shutdown (void) |
| Shuts down the Ecore IPC library. More...
|
|
EAPI Ecore_Ipc_Server * | ecore_ipc_server_add (Ecore_Ipc_Type type, const char *name, int port, const void *data) |
| Creates an IPC server that listens for connections. More...
|
|
EAPI Ecore_Ipc_Server * | ecore_ipc_server_connect (Ecore_Ipc_Type type, char *name, int port, const void *data) |
| Creates an IPC server object to represent the IPC server listening on the given port. More...
|
|
EAPI void * | ecore_ipc_server_del (Ecore_Ipc_Server *svr) |
| Closes the connection and frees the given IPC server. More...
|
|
EAPI void * | ecore_ipc_server_data_get (Ecore_Ipc_Server *svr) |
| Retrieves the data associated with the given IPC server. More...
|
|
EAPI Eina_Bool | ecore_ipc_server_connected_get (Ecore_Ipc_Server *svr) |
| Retrieves whether the given IPC server is currently connected. More...
|
|
EAPI Eina_List * | ecore_ipc_server_clients_get (Ecore_Ipc_Server *svr) |
| Retrieves the list of clients for this server. More...
|
|
EAPI int | ecore_ipc_server_send (Ecore_Ipc_Server *svr, int major, int minor, int ref, int ref_to, int response, const void *data, int size) |
| Sends a message to the given IPC server. More...
|
|
EAPI void | ecore_ipc_server_client_limit_set (Ecore_Ipc_Server *svr, int client_limit, char reject_excess_clients) |
| Sets a limit on the number of clients that can be handled concurrently by the given server, and a policy on what to do if excess clients try to connect. More...
|
|
EAPI void | ecore_ipc_server_data_size_max_set (Ecore_Ipc_Server *srv, int size) |
| Sets the max data payload size for an Ipc message in bytes. More...
|
|
EAPI int | ecore_ipc_server_data_size_max_get (Ecore_Ipc_Server *srv) |
| Gets the max data payload size for an Ipc message in bytes. More...
|
|
EAPI const char * | ecore_ipc_server_ip_get (Ecore_Ipc_Server *svr) |
| Gets the IP address of a server that has been connected to. More...
|
|
EAPI void | ecore_ipc_server_flush (Ecore_Ipc_Server *svr) |
| Flushes all pending data to the given server. More...
|
|
EAPI int | ecore_ipc_client_send (Ecore_Ipc_Client *cl, int major, int minor, int ref, int ref_to, int response, const void *data, int size) |
| Sends a message to the given IPC client. More...
|
|
EAPI Ecore_Ipc_Server * | ecore_ipc_client_server_get (Ecore_Ipc_Client *cl) |
| Retrieves the IPC server that the given IPC client is connected to. More...
|
|
EAPI void * | ecore_ipc_client_del (Ecore_Ipc_Client *cl) |
| Closes the connection and frees memory allocated to the given IPC client. More...
|
|
EAPI void | ecore_ipc_client_data_set (Ecore_Ipc_Client *cl, const void *data) |
| Sets the IPC data associated with the given IPC client to data . More...
|
|
EAPI void * | ecore_ipc_client_data_get (Ecore_Ipc_Client *cl) |
| Retrieves the data that has been associated with the given IPC client. More...
|
|
EAPI void | ecore_ipc_client_data_size_max_set (Ecore_Ipc_Client *cl, int size) |
| Sets the max data payload size for an Ipc message in bytes. More...
|
|
EAPI int | ecore_ipc_client_data_size_max_get (Ecore_Ipc_Client *cl) |
| Gets the max data payload size for an Ipc message in bytes. More...
|
|
EAPI const char * | ecore_ipc_client_ip_get (Ecore_Ipc_Client *cl) |
| Gets the IP address of a client that has been connected to. More...
|
|
EAPI void | ecore_ipc_client_flush (Ecore_Ipc_Client *cl) |
| Flushes all pending data to the given client. More...
|
|
EAPI int | ecore_ipc_ssl_available_get (void) |
| Returns if SSL support is available. More...
|
|
Ecore inter-process communication functions.
EAPI void ecore_ipc_server_client_limit_set |
( |
Ecore_Ipc_Server * |
svr, |
|
|
int |
client_limit, |
|
|
char |
reject_excess_clients |
|
) |
| |
Sets a limit on the number of clients that can be handled concurrently by the given server, and a policy on what to do if excess clients try to connect.
Beware that if you set this once ecore is already running, you may already have pending CLIENT_ADD events in your event queue. Those clients have already connected and will not be affected by this call. Only clients subsequently trying to connect will be affected.
- Parameters
-
svr | The given server. |
client_limit | The maximum number of clients to handle concurrently. -1 means unlimited (default). 0 effectively disables the server. |
reject_excess_clients | Set to 1 to automatically disconnect excess clients as soon as they connect if you are already handling client_limit clients. Set to 0 (default) to just hold off on the "accept()" system call until the number of active clients drops. This causes the kernel to queue up to 4096 connections (or your kernel's limit, whichever is lower). |
References ecore_con_server_client_limit_set().