Repository: qpid-proton Updated Branches: refs/heads/master 5efd45d1f -> 1be97cd7d
removed pn_reactor_work in favor of pn_reactor_process and pn_reactor_set_timeout Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/1be97cd7 Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/1be97cd7 Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/1be97cd7 Branch: refs/heads/master Commit: 1be97cd7d6ddfb5ad06c13b34b84fe798def00ee Parents: 5efd45d Author: Rafael Schloming <[email protected]> Authored: Tue Feb 3 06:11:31 2015 -0500 Committer: Rafael Schloming <[email protected]> Committed: Tue Feb 3 06:11:31 2015 -0500 ---------------------------------------------------------------------- proton-c/bindings/python/proton/reactors.py | 17 +++++++++++------ proton-c/include/proton/reactor.h | 5 +++-- proton-c/src/handlers/iohandler.c | 2 +- proton-c/src/reactor/reactor.c | 16 ++++++++-------- 4 files changed, 23 insertions(+), 17 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/1be97cd7/proton-c/bindings/python/proton/reactors.py ---------------------------------------------------------------------- diff --git a/proton-c/bindings/python/proton/reactors.py b/proton-c/bindings/python/proton/reactors.py index 4de2d5c..0c8a4b3 100644 --- a/proton-c/bindings/python/proton/reactors.py +++ b/proton-c/bindings/python/proton/reactors.py @@ -926,9 +926,13 @@ class Reactor(Wrapper): pn_reactor_global(self._impl, impl) pn_decref(impl) - @property - def timeout(self): - return millis2secs(pn_reactor_timeout(self._impl)) + def _get_timeout(self): + return millis2secs(pn_reactor_get_timeout(self._impl)) + + def _set_timeout(self, secs): + return pn_reactor_set_timeout(self._impl, secs2millis(secs)) + + timeout = property(_get_timeout, _set_timeout) def yield_(self): pn_reactor_yield(self._impl) @@ -941,15 +945,16 @@ class Reactor(Wrapper): return _wrap_handler(self, pn_reactor_handler(self._impl)) def run(self): + self.timeout = 3.14159265359 self.start() - while self.process(3.14159265359): pass + while self.process(): pass self.stop() def start(self): pn_reactor_start(self._impl) - def process(self, timeout=0): - result = pn_reactor_work(self._impl, secs2millis(timeout)) + def process(self): + result = pn_reactor_process(self._impl) if self.errors: for exc, value, tb in self.errors[:-1]: traceback.print_exception(exc, value, tb) http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/1be97cd7/proton-c/include/proton/reactor.h ---------------------------------------------------------------------- diff --git a/proton-c/include/proton/reactor.h b/proton-c/include/proton/reactor.h index 97e5961..f7a0526 100644 --- a/proton-c/include/proton/reactor.h +++ b/proton-c/include/proton/reactor.h @@ -57,7 +57,8 @@ PN_EXTERN void pn_handler_dispatch(pn_handler_t *handler, pn_event_t *event); PN_EXTERN pn_reactor_t *pn_reactor(void); PN_EXTERN pn_record_t *pn_reactor_attachments(pn_reactor_t *reactor); -PN_EXTERN int pn_reactor_timeout(pn_reactor_t *reactor); +PN_EXTERN pn_millis_t pn_reactor_get_timeout(pn_reactor_t *reactor); +PN_EXTERN void pn_reactor_set_timeout(pn_reactor_t *reactor, pn_millis_t timeout); PN_EXTERN pn_timestamp_t pn_reactor_mark(pn_reactor_t *reactor); PN_EXTERN pn_timestamp_t pn_reactor_now(pn_reactor_t *reactor); PN_EXTERN void pn_reactor_yield(pn_reactor_t *reactor); @@ -73,7 +74,7 @@ PN_EXTERN pn_acceptor_t *pn_reactor_acceptor(pn_reactor_t *reactor, const char * pn_handler_t *handler); PN_EXTERN pn_connection_t *pn_reactor_connection(pn_reactor_t *reactor, pn_handler_t *handler); PN_EXTERN void pn_reactor_start(pn_reactor_t *reactor); -PN_EXTERN bool pn_reactor_work(pn_reactor_t *reactor, int timeout); +PN_EXTERN bool pn_reactor_process(pn_reactor_t *reactor); PN_EXTERN void pn_reactor_stop(pn_reactor_t *reactor); PN_EXTERN void pn_reactor_run(pn_reactor_t *reactor); PN_EXTERN pn_task_t *pn_reactor_schedule(pn_reactor_t *reactor, int delay, pn_handler_t *handler); http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/1be97cd7/proton-c/src/handlers/iohandler.c ---------------------------------------------------------------------- diff --git a/proton-c/src/handlers/iohandler.c b/proton-c/src/handlers/iohandler.c index be976e5..451816c 100644 --- a/proton-c/src/handlers/iohandler.c +++ b/proton-c/src/handlers/iohandler.c @@ -28,7 +28,7 @@ static void *pni_selector_handle = NULL; #define PN_SELECTOR ((pn_handle_t) &pni_selector_handle) void pni_handle_quiesced(pn_reactor_t *reactor, pn_selector_t *selector) { - pn_selector_select(selector, pn_reactor_timeout(reactor)); + pn_selector_select(selector, pn_reactor_get_timeout(reactor)); pn_selectable_t *sel; int events; pn_reactor_mark(reactor); http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/1be97cd7/proton-c/src/reactor/reactor.c ---------------------------------------------------------------------- diff --git a/proton-c/src/reactor/reactor.c b/proton-c/src/reactor/reactor.c index 896e40d..e588881 100644 --- a/proton-c/src/reactor/reactor.c +++ b/proton-c/src/reactor/reactor.c @@ -104,11 +104,16 @@ pn_record_t *pn_reactor_attachments(pn_reactor_t *reactor) { return reactor->attachments; } -int pn_reactor_timeout(pn_reactor_t *reactor) { +pn_millis_t pn_reactor_get_timeout(pn_reactor_t *reactor) { assert(reactor); return reactor->timeout; } +void pn_reactor_set_timeout(pn_reactor_t *reactor, pn_millis_t timeout) { + assert(reactor); + reactor->timeout = timeout; +} + void pn_reactor_free(pn_reactor_t *reactor) { if (reactor) { pn_collector_release(reactor->collector); @@ -404,12 +409,6 @@ void pn_reactor_start(pn_reactor_t *reactor) { reactor->selectable = pni_timer_selectable(reactor); } -bool pn_reactor_work(pn_reactor_t *reactor, int timeout) { - assert(reactor); - reactor->timeout = timeout; - return pn_reactor_process(reactor); -} - void pn_reactor_stop(pn_reactor_t *reactor) { assert(reactor); pn_collector_put(reactor->collector, PN_OBJECT, reactor, PN_REACTOR_FINAL); @@ -419,7 +418,8 @@ void pn_reactor_stop(pn_reactor_t *reactor) { void pn_reactor_run(pn_reactor_t *reactor) { assert(reactor); + pn_reactor_set_timeout(reactor, 3141); pn_reactor_start(reactor); - while (pn_reactor_work(reactor, 1000)) {} + while (pn_reactor_process(reactor)) {} pn_reactor_stop(reactor); } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
