void vortex_channel_flag_reply_processed ( VortexChannel channel,
axl_bool  flag 

Allows to flag that the channel have processed its last reply.

Under normal situations, this function is used by the vortex reader to notify the reply processed status for a provided channel. This allows to control race conditions and to keep vortex_channel_is_ready working.

The reply processed flag is only activated once the frame was delivered and the frame received handler for the provided channel has finished. This ensures that calls to vortex_channel_is_ready returns proper status for the provided channel and all internal functions for a channel (especially the close operation) keeps working and synchronized.

However, it could happen, especially for request-response pattern implemented on top of Vortex Library, like XML-RPC, that a race condition could happen while calling to invoke several services using the same channel. Because the thread that executes the invocation code could be faster than the internal thread, inside the vortex library, that flags the channel to have its reply processed, makes the next invocation to fail because it is detected that other ongoing operation is being taking place.

To avoid such situations RPC implementations on top of Vortex Library could use this function to force that a channel have processed its reply. An example could be found inside the implementation of vortex_xml_rpc_invoke.

channel The channel what is about to be flagged as ready (or not, according to the flag value).
flag The status to flag.