141 lines
4.0 KiB
Cython
141 lines
4.0 KiB
Cython
"""
|
|
|
|
@typedef Eet_Connection
|
|
Opaque handle to track paquet for a specific connection.
|
|
|
|
|
|
"""
|
|
typedef struct _Eet_Connection Eet_Connection;
|
|
|
|
"""
|
|
|
|
@typedef Eet_Read_Cb
|
|
Called back when an :ref:`Eet_Data_Group` has been received completely and could be used.
|
|
|
|
|
|
"""
|
|
typedef Eina_Bool Eet_Read_Cb (const void *eet_data, size_t size, void *user_data);
|
|
|
|
"""
|
|
|
|
@typedef Eet_Write_Cb
|
|
Called back when a packet containing :ref:`Eet_Data_Group` data is ready to be send.
|
|
|
|
|
|
"""
|
|
typedef Eina_Bool Eet_Write_Cb (const void *data, size_t size, void *user_data);
|
|
|
|
"""
|
|
|
|
Instanciate a new connection to track.
|
|
:param eet_read_cb: Function to call when one Eet_Data packet has been fully assemble.
|
|
:param eet_write_cb: Function to call when one Eet_Data packet is ready to be send over the wire.
|
|
:param user_data: Pointer provided to both functions to be used as a context handler.
|
|
:return: 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 Eet_Connection *
|
|
eet_connection_new(Eet_Read_Cb *eet_read_cb,
|
|
Eet_Write_Cb *eet_write_cb,
|
|
const void *user_data);
|
|
|
|
"""
|
|
|
|
Process a raw packet received over the link
|
|
:param conn: Connection handler to track.
|
|
:param data: Raw data packet.
|
|
:param size: The size of that packet.
|
|
:return: 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 int
|
|
eet_connection_received(Eet_Connection *conn,
|
|
const void *data,
|
|
size_t size);
|
|
|
|
"""
|
|
|
|
Tell if the Eet_Connection as received some partial data.
|
|
:param conn: Connection handler to request.
|
|
:return: EINA_TRUE if there is some data pending inside, EINA_FALSE otherwise.
|
|
|
|
Eet_Connection buffer data until the received data can be unserialized correctly. This
|
|
function let you know if there is some data inside that buffer waiting for more data to
|
|
be received before being processed.
|
|
|
|
:since: 1.7
|
|
|
|
"""
|
|
EAPI Eina_Bool eet_connection_empty(Eet_Connection *conn);
|
|
|
|
"""
|
|
|
|
Convert a complex structure and prepare it to be send.
|
|
:param conn: Connection handler to track.
|
|
:param edd: The data descriptor to use when encoding.
|
|
:param data_in: The pointer to the struct to encode into data.
|
|
:param cipher_key: The key to use as cipher.
|
|
:return: 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: eet_data_descriptor_encode_cipher
|
|
|
|
: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 Eet_Node tree and prepare it to be send.
|
|
:param conn: Connection handler to track.
|
|
:param node: The data tree to use when encoding.
|
|
:param cipher_key: The key to use as cipher.
|
|
:return: 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: eet_data_node_encode_cipher
|
|
|
|
:since: 1.2.4
|
|
|
|
"""
|
|
EAPI Eina_Bool
|
|
eet_connection_node_send(Eet_Connection *conn,
|
|
Eet_Node *node,
|
|
const char *cipher_key);
|
|
|
|
"""
|
|
|
|
Close a connection and lost its track.
|
|
:param conn: Connection handler to close.
|
|
:param on_going: Signal if a partial packet wasn't completed.
|
|
:return: the user_data passed to both callback.
|
|
|
|
:since: 1.2.4
|
|
|
|
"""
|
|
EAPI void *
|
|
eet_connection_close(Eet_Connection *conn,
|
|
Eina_Bool *on_going);
|
|
|