Efl.Net.Server.Fd (class)


A generic server based on file descriptors.

Since 1.19


Efl.Loop.Fd (class)Efl.Loop.Consumer (class)Efl.Object (class)

Full hierarchy


address (get, set) protected set [Overridden from Efl.Net.Server]

The address to which the server is bound.
const char *efl_net_server_address_get(const Eo *obj);
void efl_net_server_address_set(Eo *obj, const char *address);

clients_count (get, set) protected set [Overridden from Efl.Net.Server]

Number of concurrent clients accepted by the server.
unsigned int efl_net_server_clients_count_get(const Eo *obj);
void efl_net_server_clients_count_set(Eo *obj, unsigned int count);

clients_limit (get, set) [Overridden from Efl.Net.Server]

Number of maximum concurrent clients allowed by the server.
void efl_net_server_clients_limit_get(const Eo *obj, unsigned int *limit, Eina_Bool *reject_excess);
void efl_net_server_clients_limit_set(Eo *obj, unsigned int limit, Eina_Bool reject_excess);

close_on_exec (get, set)

Controls Close-on-Exec() using FD_CLOEXEC.
Eina_Bool efl_net_server_fd_close_on_exec_get(const Eo *obj);
Eina_Bool efl_net_server_fd_close_on_exec_set(Eo *obj, Eina_Bool close_on_exec);

constructor [Overridden from Efl.Object]

Call the object's constructor.
Efl_Object *efl_constructor(Eo *obj);

destructor [Overridden from Efl.Object]

Call the object's destructor.
void efl_destructor(Eo *obj);

family (get, set) protected set

The address family (AF_*) family of this socket.
int efl_net_server_fd_family_get(const Eo *obj);
void efl_net_server_fd_family_set(Eo *obj, int family);

fd (get, set) [Overridden from Efl.Loop.Fd]

Defines which file descriptor to watch. If it is a file, use file_fd variant.
int efl_loop_fd_get(const Eo *obj);
void efl_loop_fd_set(Eo *obj, int fd);

finalize [Overridden from Efl.Object]

Called at the end of efl_add. Should not be called, just overridden.
Efl_Object *efl_finalize(Eo *obj);

reuse_address (get, set)

Controls address reuse() using SO_REUSEADDR
Eina_Bool efl_net_server_fd_reuse_address_get(const Eo *obj);
Eina_Bool efl_net_server_fd_reuse_address_set(Eo *obj, Eina_Bool reuse_address);

reuse_port (get, set)

Controls port reuse() using SO_REUSEPORT (since linux 3.9)
Eina_Bool efl_net_server_fd_reuse_port_get(const Eo *obj);
Eina_Bool efl_net_server_fd_reuse_port_set(Eo *obj, Eina_Bool reuse_port);

serve [Overridden from Efl.Net.Server]

Starts serving requests.
Eina_Error efl_net_server_serve(Eo *obj, const char *address);

serving (get, set) protected set [Overridden from Efl.Net.Server]

Returns whenever the server is ready to accept clients or not.
Eina_Bool efl_net_server_serving_get(const Eo *obj);
void efl_net_server_serving_set(Eo *obj, Eina_Bool serving);


If this method is called, use an already activated socket.
Eina_Error efl_net_server_fd_socket_activate(Eo *obj, const char *address);

client_add protected

Accepts a new client, should emit "client,add".
void efl_net_server_fd_client_add(Eo *obj, int client_fd);

client_announce protected [Overridden from Efl.Net.Server]

Implementions should call this method to announce new clients.
Eina_Bool efl_net_server_client_announce(Eo *obj, Efl_Net_Socket *client);

client_reject protected

Rejects a new client, should emit "client,rejected".
void efl_net_server_fd_client_reject(Eo *obj, int client_fd);

process_incoming_data protected

When the socket has data to be read, process it.
void efl_net_server_fd_process_incoming_data(Eo *obj);


loop (get) The loop to which this object belongs to.
fd_file (get, set) Defines which file descriptor to watch when watching a file.
parent (get, set) The parent of an object.
allow_parent_unref (get, set) Allow an object to be deleted by unref even if it has a parent.
children_iterator_new Get an iterator on all childrens
comment (get, set) A human readable comment for the object
composite_attach Make an object a composite object of another.
composite_detach Detach a composite object from another object.
composite_part_is Check if an object is part of a composite object.
debug_name_override Build a read-only name for this object used for debugging.
del Unrefs the object and reparents it to NULL.
event_callback_forwarder_add Add an event callback forwarder for an event and an object.
event_callback_forwarder_del Remove an event callback forwarder for an event and an object.
event_callback_stop Stop the current callback call.
event_freeze Freeze events of object.
event_freeze_count (get) Return freeze events of object.
class event_global_freeze Freeze events of object.
class event_global_freeze_count (get) Return freeze events of object.
class event_global_thaw Thaw events of object.
event_thaw Thaw events of object.
finalized (get) True if the object is already finalized, otherwise false.
name (get, set) The name of the object.
name_find Find a child object with the given name and return it.
provider_find Searches upwards in the object tree for a provider which knows the given class/interface.



error Called when a error occurred on the file descriptor
read Called when a read happened on the file descriptor
write Called when a write happened on the file descriptor
client,add A new client socket has been created.
client,rejected Notifies a client was rejected due excess, see Efl.Net.Server.clients_limit.
serving Notifies the server is ready to accept clients. See property Efl.Net.Server.serving
callback,add A callback was added.
callback,del A callback was deleted.
del Object is being deleted.
destruct Object has been fully destroyed. It can not be used beyond this point. This event should only serve to clean up any dangling pointer.