----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/30898/ -----------------------------------------------------------
(Updated Feb. 19, 2015, 8:26 p.m.) Review request for qpid and Rafael Schloming. Changes ------- This has fixes for changes in reactor api signatures and enough tweaks to allow a couple of tests to be added that work similarly to simpler messenger soak tests. Also fixes to make valgrind happy. The need to sometimes decref (and sometimes not) various handlers remains puzzling (i.e. pn_handshaker in listener_dispatch versus main, or connection_handler in listener_dispatch). Bugs: PROTON-818 https://issues.apache.org/jira/browse/PROTON-818 Repository: qpid-proton-git Description ------- These are meant to eventually plug into the python test suite. For now they do a small subset of their counterparts msgr-send and msgr-recv. In their current early state they just send and receive with an optional reply-to capability. These programs could use a review as to how well they serve as a blueprint for some good reactor C examples. Of particular concern are the use of pn_decref/pn_incref for handlers in general or to force the ordering of handler cleanup (i.e. connection_handler cleanup before the global/listener handler) pn_incref for pn_connection_free (else segfaults, but without the pn_connection_free the connection_cleanup is not called until the reactor finishes which could be hours or days later) This could just be more about poor use of the API than anything else, so any suggestions are welcome. I am still working of the python test integration which seems to imply that at least the "-X READY" and "-t 60" args need to be implemented on top of what you see so far. Diffs (updated) ----- tests/python/proton_tests/common.py 42cf7b1 tests/python/proton_tests/soak.py 94ce488 tests/tools/apps/c/CMakeLists.txt deafe24 tests/tools/apps/c/reactor-recv.c PRE-CREATION tests/tools/apps/c/reactor-send.c PRE-CREATION Diff: https://reviews.apache.org/r/30898/diff/ Testing ------- The programs have at least been tested with multiple simultaneous connections as follows: "server": time ./reactor-recv -c 1000000 -R "shooter": for i in 1 2 3 4 5 6 7 8 9 10 ; do ./reactor-send -a "amqp://127.0.0.1/test_"$i -c 100000 -R & echo $i; usleep 200000; done Thanks, Cliff Jansen