04.11.2014 18:18, Dimitry Sibiryakov wrote:
>
> Could someone explain meaning of each of the values?
>
> enum req_s {
>       req_evaluate,
>       req_return,
>       req_receive,
>       req_send,
>       req_proceed,
>       req_sync,
>       req_unwind
> };

req_evaluate - execute the node inside the main execution flow

req_return - node execution is finished and execution flow should be 
redirected back to the parent node (to continue with the next node)

req_unwind - custom exception handling for the node, without an 
exception handler it forces the whole execution tree to exit (i.e. node 
-> parent -> parent -> ... -> out)

req_send / req_receive - handle in/out messages, IIRC they're mostly 
bound to nod_send / nod_receive nodes

req_proceed - initial state to execute the request, also used together 
with req_sync to implement SUSPEND (nod_stall)

Most of the new nodes need only evaluate / return / unwind to be 
implemented. I don't remember us ever touching other request states.


Dmitry


------------------------------------------------------------------------------
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to