diff options
| author | Ted Ross <tross@apache.org> | 2013-03-07 00:32:32 +0000 |
|---|---|---|
| committer | Ted Ross <tross@apache.org> | 2013-03-07 00:32:32 +0000 |
| commit | d507fcd7d13652075b812b1761bf795a50c54e18 (patch) | |
| tree | e7ba848b7011b5a0a9d5a1ac28994827436d390b /qpid/extras/dispatch/src/router_node.c | |
| parent | b154cdb711e8f93a2da51a1a10fa2c244b946748 (diff) | |
| download | qpid-python-d507fcd7d13652075b812b1761bf795a50c54e18.tar.gz | |
QPID-4612 - Major cleanup in the API.
Removed the singleton patterns.
Added a single header file for all of Dispatch.
Doxygen comments still need to be updated.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1453628 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/extras/dispatch/src/router_node.c')
| -rw-r--r-- | qpid/extras/dispatch/src/router_node.c | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/qpid/extras/dispatch/src/router_node.c b/qpid/extras/dispatch/src/router_node.c index 6ddc8f45dd..0513b08a6b 100644 --- a/qpid/extras/dispatch/src/router_node.c +++ b/qpid/extras/dispatch/src/router_node.c @@ -18,19 +18,13 @@ */ #include <stdio.h> -#include <qpid/dispatch/server.h> -#include <qpid/dispatch/message.h> -#include <qpid/dispatch/threading.h> -#include <qpid/dispatch/timer.h> -#include <qpid/dispatch/ctools.h> -#include <qpid/dispatch/hash.h> -#include <qpid/dispatch/iterator.h> -#include <qpid/dispatch/log.h> -#include <qpid/dispatch/router.h> +#include <qpid/dispatch.h> +#include "dispatch_private.h" static char *module="ROUTER_NODE"; struct dx_router_t { + dx_dispatch_t *dx; dx_node_t *node; dx_link_list_t in_links; dx_link_list_t out_links; @@ -389,23 +383,24 @@ static dx_node_type_t router_node = {"router", 0, 0, static int type_registered = 0; -dx_router_t *dx_router(dx_router_configuration_t *config) +dx_router_t *dx_router(dx_dispatch_t *dx) { if (!type_registered) { type_registered = 1; - dx_container_register_node_type(&router_node); + dx_container_register_node_type(dx, &router_node); } dx_router_t *router = NEW(dx_router_t); - dx_container_set_default_node_type(&router_node, (void*) router, DX_DIST_BOTH); + dx_container_set_default_node_type(dx, &router_node, (void*) router, DX_DIST_BOTH); DEQ_INIT(router->in_links); DEQ_INIT(router->out_links); DEQ_INIT(router->in_fifo); + router->dx = dx; router->lock = sys_mutex(); - router->timer = dx_timer(dx_router_timer_handler, (void*) router); + router->timer = dx_timer(dx, dx_router_timer_handler, (void*) router); dx_timer_schedule(router->timer, 0); // Immediate router->out_hash = hash(10, 32, 0); @@ -417,7 +412,7 @@ dx_router_t *dx_router(dx_router_configuration_t *config) void dx_router_free(dx_router_t *router) { - dx_container_set_default_node_type(0, 0, DX_DIST_BOTH); + dx_container_set_default_node_type(router->dx, 0, 0, DX_DIST_BOTH); sys_mutex_free(router->lock); free(router); } |
