Helper function to use eet over a network link

Function that reconstruct and prepare packet of Eet Data Serialization to be send. More...

Typedefs

typedef struct _Eet_Connection Eet_Connection
 Opaque handle to track paquet for a specific connection.
typedef Eina_Bool Eet_Read_Cb (const void *eet_data, size_t size, void *user_data)
 Called back when an Eet Data Serialization has been received completly and could be used.
typedef Eina_Bool Eet_Write_Cb (const void *data, size_t size, void *user_data)
 Called back when a packet containing Eet Data Serialization data is ready to be send.

Functions

EAPI Eet_Connectioneet_connection_new (Eet_Read_Cb *eet_read_cb, Eet_Write_Cb *eet_write_cb, const void *user_data)
 Instanciate a new connection to track.
EAPI int eet_connection_received (Eet_Connection *conn, const void *data, size_t size)
 Process a raw packet received over the link.
EAPI Eina_Bool eet_connection_send (Eet_Connection *conn, Eet_Data_Descriptor *edd, const void *data_in, const char *cipher_key)
 Convert a complex structure and prepare it to be send.
EAPI Eina_Bool eet_connection_node_send (Eet_Connection *conn, Eet_Node *node, const char *cipher_key)
 Convert a Eet_Node tree and prepare it to be send.
EAPI void * eet_connection_close (Eet_Connection *conn, Eina_Bool *on_going)
 Close a connection and lost its track.

Detailed Description

Function that reconstruct and prepare packet of Eet Data Serialization to be send.


Function Documentation

EAPI void* eet_connection_close ( Eet_Connection conn,
Eina_Bool *  on_going 
)

Close a connection and lost its track.

Parameters:
conn Connection handler to close.
on_going Signal if a partial packet wasn't completed.
Returns:
the user_data passed to both callback.
Since:
1.2.4
EAPI Eet_Connection* eet_connection_new ( Eet_Read_Cb eet_read_cb,
Eet_Write_Cb eet_write_cb,
const void *  user_data 
)

Instanciate a new connection to track.

Parameters:
eet_read_cb Function to call when one Eet_Data packet has been fully assemble.
eet_write_cb Function to call when one Eet_Data packet is ready to be send over the wire.
user_data Pointer provided to both functions to be used as a context handler.
Returns:
NULL on failure, or a valid Eet_Connection handler.

For every connection to track you will need a separate Eet_Connection provider.

Since:
1.2.4
EAPI Eina_Bool eet_connection_node_send ( Eet_Connection conn,
Eet_Node node,
const char *  cipher_key 
)

Convert a Eet_Node tree and prepare it to be send.

Parameters:
conn Connection handler to track.
node The data tree to use when encoding.
cipher_key The key to use as cipher.
Returns:
EINA_TRUE if the data where correctly send, EINA_FALSE if they don't.

This function serialize node, assemble the packet and call Eet_Write_Cb when ready. The data passed Eet_Write_Cb are temporary allocated and will vanish just after the return of the callback.

See also:
eet_data_node_encode_cipher
Since:
1.2.4

References eet_data_node_encode_cipher().

EAPI int eet_connection_received ( Eet_Connection conn,
const void *  data,
size_t  size 
)

Process a raw packet received over the link.

Parameters:
conn Connection handler to track.
data Raw data packet.
size The size of that packet.
Returns:
0 on complete success, any other value indicate where in the stream it got wrong (It could be before that packet).

Every time you receive a packet related to your connection, you should pass it to that function so that it could process and assemble packet has you receive it. It will automatically call Eet_Read_Cb when one is fully received.

Since:
1.2.4
EAPI Eina_Bool eet_connection_send ( Eet_Connection conn,
Eet_Data_Descriptor edd,
const void *  data_in,
const char *  cipher_key 
)

Convert a complex structure and prepare it to be send.

Parameters:
conn Connection handler to track.
edd The data descriptor to use when encoding.
data_in The pointer to the struct to encode into data.
cipher_key The key to use as cipher.
Returns:
EINA_TRUE if the data where correctly send, EINA_FALSE if they don't.

This function serialize data_in with edd, assemble the packet and call Eet_Write_Cb when ready. The data passed Eet_Write_Cb are temporary allocated and will vanish just after the return of the callback.

See also:
eet_data_descriptor_encode_cipher
Since:
1.2.4

References eet_data_descriptor_encode_cipher().