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