Ecore Connection Server Functions
Functions that operate on Ecore server objects. More...
Typedefs | |
typedef struct _Ecore_Con_Server | Ecore_Con_Server |
A connection handle to a server. | |
Functions | |
EAPI Ecore_Con_Server * | ecore_con_server_add (Ecore_Con_Type compl_type, const char *name, int port, const void *data) |
Creates a server to listen for connections. | |
EAPI Ecore_Con_Server * | ecore_con_server_connect (Ecore_Con_Type compl_type, const char *name, int port, const void *data) |
Creates a connection to the specified server and returns an associated object. | |
EAPI void | ecore_con_server_timeout_set (Ecore_Con_Server *svr, double timeout) |
Set the default time after which an inactive client will be disconnected. | |
EAPI double | ecore_con_server_timeout_get (Ecore_Con_Server *svr) |
Get the default time after which an inactive client will be disconnected. | |
EAPI void * | ecore_con_server_del (Ecore_Con_Server *svr) |
Closes the connection and frees the given server. | |
EAPI void * | ecore_con_server_data_get (Ecore_Con_Server *svr) |
Retrieves the data associated with the given server. | |
EAPI void * | ecore_con_server_data_set (Ecore_Con_Server *svr, void *data) |
Sets the data associated with the given server. | |
EAPI Eina_Bool | ecore_con_server_connected_get (Ecore_Con_Server *svr) |
Retrieves whether the given server is currently connected. | |
EAPI Eina_List * | ecore_con_server_clients_get (Ecore_Con_Server *svr) |
Retrieves the current list of clients. | |
EAPI const char * | ecore_con_server_name_get (Ecore_Con_Server *svr) |
Retrieves the name of server. | |
EAPI int | ecore_con_server_port_get (Ecore_Con_Server *svr) |
Retrieves the server port in use. | |
EAPI int | ecore_con_server_send (Ecore_Con_Server *svr, const void *data, int size) |
Sends the given data to the given server. | |
EAPI void | ecore_con_server_client_limit_set (Ecore_Con_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. | |
EAPI const char * | ecore_con_server_ip_get (Ecore_Con_Server *svr) |
Gets the IP address of a server that has been connected to. | |
EAPI double | ecore_con_server_uptime_get (Ecore_Con_Server *svr) |
Check how long a server has been connected. | |
EAPI void | ecore_con_server_flush (Ecore_Con_Server *svr) |
Flushes all pending data to the given server. |
Detailed Description
Functions that operate on Ecore server objects.
Function Documentation
EAPI Ecore_Con_Server * ecore_con_server_add | ( | Ecore_Con_Type | compl_type, | |
const char * | name, | |||
int | port, | |||
const void * | data | |||
) |
Creates a server to listen for connections.
The socket on which the server listens depends on the connection type:
- If compl_type is
ECORE_CON_LOCAL_USER
, the server will listen on the Unix socket "~/.ecore/[name]/[port]". - If compl_type is
ECORE_CON_LOCAL_SYSTEM
, the server will listen on Unix socket "/tmp/.ecore_service|[name]|[port]". - If compl_type is
ECORE_CON_REMOTE_TCP
, the server will listen on TCP portport
.
- Parameters:
-
compl_type The connection type. name Name to associate with the socket. It is used when generating the socket name of a Unix socket, or for determining what host to listen on for TCP sockets. NULL
will not be accepted.port Number to identify socket. When a Unix socket is used, it becomes part of the socket name. When a TCP socket is used, it is used as the TCP port. data Data to associate with the created Ecore_Con_Server object.
- Returns:
- A new Ecore_Con_Server.
- Examples:
- ecore_con_server_example.c.
Referenced by ecore_ipc_server_add().
EAPI void ecore_con_server_client_limit_set | ( | Ecore_Con_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).
Referenced by ecore_ipc_server_client_limit_set().
EAPI Eina_List * ecore_con_server_clients_get | ( | Ecore_Con_Server * | svr | ) |
Retrieves the current list of clients.
- Parameters:
-
svr The given server.
- Returns:
- The list of clients on this server.
EAPI Ecore_Con_Server * ecore_con_server_connect | ( | Ecore_Con_Type | compl_type, | |
const char * | name, | |||
int | port, | |||
const void * | data | |||
) |
Creates a connection to the specified server and returns an associated object.
The socket to which the connection is made depends on the connection type:
- If compl_type is
ECORE_CON_LOCAL_USER
, the function will connect to the server at the Unix socket "~/.ecore/[name]/[port]". - If compl_type is
ECORE_CON_LOCAL_SYSTEM
, the function will connect to the server at the Unix socket "/tmp/.ecore_service|[name]|[port]". - If compl_type is
ECORE_CON_REMOTE_TCP
, the function will connect to the server at the TCP port "[name]:[port]".
- Parameters:
-
compl_type The connection type. name Name used when determining what socket to connect to. It is used to generate the socket name when the socket is a Unix socket. It is used as the hostname when connecting with a TCP socket. port Number to identify the socket to connect to. Used when generating the socket name for a Unix socket, or as the TCP port when connecting to a TCP socket. data Data to associate with the created Ecore_Con_Server object.
- Returns:
- A new Ecore_Con_Server.
- Examples:
- ecore_con_client_example.c.
Referenced by ecore_ipc_server_connect().
EAPI Eina_Bool ecore_con_server_connected_get | ( | Ecore_Con_Server * | svr | ) |
Retrieves whether the given server is currently connected.
- Parameters:
-
svr The given server.
- Returns:
- EINA_TRUE if the server is connected. EINA_FALSE otherwise.
Referenced by ecore_ipc_server_connected_get().
EAPI void * ecore_con_server_data_get | ( | Ecore_Con_Server * | svr | ) |
Retrieves the data associated with the given server.
- Parameters:
-
svr The given server.
- Returns:
- The associated data.
Referenced by ecore_ipc_client_del(), and ecore_ipc_client_server_get().
EAPI void * ecore_con_server_data_set | ( | Ecore_Con_Server * | svr, | |
void * | data | |||
) |
Sets the data associated with the given server.
- Parameters:
-
svr The given server. data The data to associate with svr
- Returns:
- The previously associated data, if any.
EAPI void * ecore_con_server_del | ( | Ecore_Con_Server * | svr | ) |
Closes the connection and frees the given server.
- Parameters:
-
svr The given server.
- Returns:
- Data associated with the server when it was created.
- See also:
- ecore_con_server_add, ecore_con_server_connect
Referenced by ecore_ipc_server_del().
EAPI void ecore_con_server_flush | ( | Ecore_Con_Server * | svr | ) |
Flushes all pending data to the given server.
Will return when done.
- Parameters:
-
svr The given server.
- Examples:
- ecore_con_client_example.c.
Referenced by ecore_ipc_server_flush().
EAPI const char * ecore_con_server_ip_get | ( | Ecore_Con_Server * | svr | ) |
Gets the IP address of a server that has been connected to.
- Parameters:
-
svr The given server.
- Returns:
- A pointer to an internal string that contains the IP address of the connected server in the form "XXX.YYY.ZZZ.AAA" IP notation. This string should not be modified or trusted to stay valid after deletion for the
svr
object. If no IP is known NULL is returned.
- Examples:
- ecore_con_client_example.c.
Referenced by ecore_ipc_server_ip_get().
EAPI const char * ecore_con_server_name_get | ( | Ecore_Con_Server * | svr | ) |
Retrieves the name of server.
- Parameters:
-
svr The given server.
- Returns:
- The name of the server.
EAPI int ecore_con_server_port_get | ( | Ecore_Con_Server * | svr | ) |
Retrieves the server port in use.
- Parameters:
-
svr The given server.
- Returns:
- The server port in use.
EAPI int ecore_con_server_send | ( | Ecore_Con_Server * | svr, | |
const void * | data, | |||
int | size | |||
) |
Sends the given data to the given server.
- Parameters:
-
svr The given server. data The given data. size Length of the data, in bytes, to send.
- Returns:
- The number of bytes sent.
0
will be returned if there is an error.
- Examples:
- ecore_con_client_example.c.
Referenced by ecore_ipc_server_send().
EAPI double ecore_con_server_timeout_get | ( | Ecore_Con_Server * | svr | ) |
Get the default time after which an inactive client will be disconnected.
- Parameters:
-
svr The server object
- Returns:
- The timeout, in seconds, to disconnect after This function is used to get the idle timeout for clients. A value of < 1 means the idle timeout is disabled.
EAPI void ecore_con_server_timeout_set | ( | Ecore_Con_Server * | svr, | |
double | timeout | |||
) |
Set the default time after which an inactive client will be disconnected.
- Parameters:
-
svr The server object timeout The timeout, in seconds, to disconnect after This function is used to set the idle timeout on clients. A value of < 1 disables the idle timeout.
EAPI double ecore_con_server_uptime_get | ( | Ecore_Con_Server * | svr | ) |
Check how long a server has been connected.
- Parameters:
-
svr The server to check
- Returns:
- The total time, in seconds, that the server has been connected/running This function is used to find out how long a server has been connected/running for.