You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by tr...@apache.org on 2015/12/11 23:20:37 UTC

qpid-dispatch git commit: DISPATCH-179 - WIP - Added core-thread tracing, started wiring up the core to the router-node.

Repository: qpid-dispatch
Updated Branches:
  refs/heads/tross-DISPATCH-179-1 72678b250 -> dbdff65b0


DISPATCH-179 - WIP - Added core-thread tracing, started wiring up the core to the
                     router-node.


Project: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/commit/dbdff65b
Tree: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/tree/dbdff65b
Diff: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/diff/dbdff65b

Branch: refs/heads/tross-DISPATCH-179-1
Commit: dbdff65b07665a70c8dc360543461335770fb506
Parents: 72678b2
Author: Ted Ross <tr...@redhat.com>
Authored: Fri Dec 11 17:19:20 2015 -0500
Committer: Ted Ross <tr...@redhat.com>
Committed: Fri Dec 11 17:19:20 2015 -0500

----------------------------------------------------------------------
 etc/qdrouterd.conf                    |  7 +++
 src/router_core/agent.c               | 10 ++--
 src/router_core/connections.c         | 74 ++++++++++++++++++++----------
 src/router_core/route_tables.c        | 20 ++++----
 src/router_core/router_core.c         |  4 +-
 src/router_core/router_core_private.h |  7 +--
 src/router_core/router_core_thread.c  |  1 +
 src/router_node.c                     | 33 ++++++++++++-
 tests/config-2/A.conf                 |  2 +-
 tests/config-2/B.conf                 |  3 +-
 10 files changed, 114 insertions(+), 47 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/dbdff65b/etc/qdrouterd.conf
----------------------------------------------------------------------
diff --git a/etc/qdrouterd.conf b/etc/qdrouterd.conf
index 13f3d49..25ca222 100644
--- a/etc/qdrouterd.conf
+++ b/etc/qdrouterd.conf
@@ -83,3 +83,10 @@ fixedAddress {
     fanout: multiple
 }
 
+##
+## Temporary
+##
+log {
+    module: ROUTER_CORE
+    enable: trace+
+}

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/dbdff65b/src/router_core/agent.c
----------------------------------------------------------------------
diff --git a/src/router_core/agent.c b/src/router_core/agent.c
index c216a74..5c94374 100644
--- a/src/router_core/agent.c
+++ b/src/router_core/agent.c
@@ -140,7 +140,7 @@ void qdr_manage_create(qdr_core_t              *core,
                        qd_parsed_field_t       *in_body,
                        qd_composed_field_t     *out_body)
 {
-    qdr_action_t *action = qdr_action(qdr_manage_create_CT);
+    qdr_action_t *action = qdr_action(qdr_manage_create_CT, "manage_create");
 
     // Create a query object here
     action->args.agent.query = qdr_query(core, context, type, 0, out_body);
@@ -156,7 +156,7 @@ void qdr_manage_delete(qdr_core_t *core, void  *context,
                        qd_field_iterator_t     *name,
                        qd_field_iterator_t     *identity)
 {
-    qdr_action_t *action = qdr_action(qdr_manage_delete_CT);
+    qdr_action_t *action = qdr_action(qdr_manage_delete_CT, "manage_delete");
 
     // Create a query object here
     action->args.agent.query = qdr_query(core, context, type, 0, 0);
@@ -173,7 +173,7 @@ void qdr_manage_read(qdr_core_t *core, void  *context,
                      qd_field_iterator_t     *identity,
                      qd_composed_field_t     *body)
 {
-    qdr_action_t *action = qdr_action(qdr_manage_read_CT);
+    qdr_action_t *action = qdr_action(qdr_manage_read_CT, "manage_read");
 
     // Create a query object here
     action->args.agent.query = qdr_query(core, context, entity_type, 0, body);
@@ -232,7 +232,7 @@ void qdr_query_add_attribute_names(qdr_query_t *query)
 
 void qdr_query_get_first(qdr_query_t *query, int offset)
 {
-    qdr_action_t *action = qdr_action(qdrh_query_get_first_CT);
+    qdr_action_t *action = qdr_action(qdrh_query_get_first_CT, "query_get_first");
     action->args.agent.query  = query;
     action->args.agent.offset = offset;
     qdr_action_enqueue(query->core, action);
@@ -241,7 +241,7 @@ void qdr_query_get_first(qdr_query_t *query, int offset)
 
 void qdr_query_get_next(qdr_query_t *query)
 {
-    qdr_action_t *action = qdr_action(qdrh_query_get_next_CT);
+    qdr_action_t *action = qdr_action(qdrh_query_get_next_CT, "query_get_next");
     action->args.agent.query = query;
     qdr_action_enqueue(query->core, action);
 }

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/dbdff65b/src/router_core/connections.c
----------------------------------------------------------------------
diff --git a/src/router_core/connections.c b/src/router_core/connections.c
index 5836bf0..e760cfb 100644
--- a/src/router_core/connections.c
+++ b/src/router_core/connections.c
@@ -65,7 +65,7 @@ qdr_terminus_t *qdr_terminus_router_data(void)
 
 qdr_connection_t *qdr_connection_opened(qdr_core_t *core, bool incoming, qdr_connection_role_t role, const char *label)
 {
-    qdr_action_t     *action = qdr_action(qdr_connection_opened_CT);
+    qdr_action_t     *action = qdr_action(qdr_connection_opened_CT, "connection_opened");
     qdr_connection_t *conn   = new_qdr_connection_t();
 
     ZERO(conn);
@@ -88,7 +88,7 @@ qdr_connection_t *qdr_connection_opened(qdr_core_t *core, bool incoming, qdr_con
 
 void qdr_connection_closed(qdr_connection_t *conn)
 {
-    qdr_action_t *action = qdr_action(qdr_connection_closed_CT);
+    qdr_action_t *action = qdr_action(qdr_connection_closed_CT, "connection_closed");
     action->args.connection.conn = conn;
     qdr_action_enqueue(conn->core, action);
 }
@@ -167,7 +167,7 @@ qd_direction_t qdr_link_direction(const qdr_link_t *link)
 
 qdr_link_t *qdr_link_first_attach(qdr_connection_t *conn, qd_direction_t dir, qdr_terminus_t *source, qdr_terminus_t *target)
 {
-    qdr_action_t *action = qdr_action(qdr_link_first_attach_CT);
+    qdr_action_t *action = qdr_action(qdr_link_first_attach_CT, "link_first_attach");
     qdr_link_t   *link   = new_qdr_link_t();
 
     ZERO(link);
@@ -187,7 +187,7 @@ qdr_link_t *qdr_link_first_attach(qdr_connection_t *conn, qd_direction_t dir, qd
 
 void qdr_link_second_attach(qdr_link_t *link, qdr_terminus_t *source, qdr_terminus_t *target)
 {
-    qdr_action_t *action = qdr_action(qdr_link_second_attach_CT);
+    qdr_action_t *action = qdr_action(qdr_link_second_attach_CT, "link_second_attach");
 
     action->args.connection.link   = link;
     action->args.connection.source = source;
@@ -198,7 +198,7 @@ void qdr_link_second_attach(qdr_link_t *link, qdr_terminus_t *source, qdr_termin
 
 void qdr_link_detach(qdr_link_t *link, pn_condition_t *condition)
 {
-    qdr_action_t *action = qdr_action(qdr_link_detach_CT);
+    qdr_action_t *action = qdr_action(qdr_link_detach_CT, "link_detach");
 
     action->args.connection.link      = link;
     action->args.connection.condition = condition;
@@ -321,7 +321,8 @@ static qd_address_semantics_t qdr_semantics_for_address(qdr_core_t *core, qd_fie
     qdr_address_t *addr = 0;
 
     //
-    // Question: Should we use a new prefix for configuration?
+    // Question: Should we use a new prefix for configuration? (No: allows the possibility of
+    //           static routes; yes: prevents occlusion by mobile addresses with specified semantics)
     //
     qd_hash_retrieve_prefix(core->addr_hash, iter, (void**) addr);
     return addr ? addr->semantics : qdr_default_semantics;
@@ -518,7 +519,7 @@ static void qdr_link_first_attach_CT(qdr_core_t *core, qdr_action_t *action, boo
     qdr_connection_t  *conn   = action->args.connection.conn;
     qdr_link_t        *link   = action->args.connection.link;
     qd_direction_t     dir    = action->args.connection.dir;
-    //qdr_terminus_t    *source = action->args.connection.source;
+    qdr_terminus_t    *source = action->args.connection.source;
     qdr_terminus_t    *target = action->args.connection.target;
 
     //
@@ -538,15 +539,15 @@ static void qdr_link_first_attach_CT(qdr_core_t *core, qdr_action_t *action, boo
         // Handle incoming link cases
         //
         switch (link->link_type) {
-        case QD_LINK_ENDPOINT:
+        case QD_LINK_ENDPOINT: {
             if (qdr_terminus_is_anonymous(target)) {
-                link->addr = 0;
+                link->owning_addr = 0;
                 qdr_link_accept_CT(core, link);
             } else {
                 //
                 // This link has a target address
                 //
-                bool           link_route = false;
+                bool           link_route;
                 qdr_address_t *addr = qdr_lookup_terminus_address_CT(core, dir, target, false, false, &link_route);
                 if (!addr)
                     //
@@ -565,11 +566,13 @@ static void qdr_link_first_attach_CT(qdr_core_t *core, qdr_action_t *action, boo
                     // Associate the link with the address.  With this association, it will be unnecessary
                     // to do an address lookup for deliveries that arrive on this link.
                     //
-                    link->addr = addr;
+                    link->owning_addr = addr;
+                    qdr_add_link_ref(&addr->inlinks, link);
                     qdr_link_accept_CT(core, link);
                 }
             }
             break;
+        }
 
         case QD_LINK_WAYPOINT:
             // No action, waypoint links are rejected above.
@@ -586,14 +589,48 @@ static void qdr_link_first_attach_CT(qdr_core_t *core, qdr_action_t *action, boo
         // Handle outgoing link cases
         //
         switch (link->link_type) {
-        case QD_LINK_ENDPOINT:
+        case QD_LINK_ENDPOINT: {
+            bool           link_route;
+            qdr_address_t *addr = qdr_lookup_terminus_address_CT(core, dir, source, true, true, &link_route);
+            if (!addr)
+                //
+                // No route to this destination, reject the link
+                //
+                qdr_link_reject_CT(core, link, QDR_CONDITION_NO_ROUTE_TO_DESTINATION);
+
+            else if (link_route)
+                //
+                // This is a link-routed destination, forward the attach to the next hop
+                //
+                qdr_forward_first_attach_CT(core, link, addr);
+
+            else {
+                //
+                // Associate the link with the address.  With this association, it will be unnecessary
+                // to do an address lookup for deliveries that arrive on this link.
+                //
+                link->owning_addr = addr;
+                qdr_add_link_ref(&addr->rlinks, link);
+                if (DEQ_SIZE(addr->rlinks) == 1)
+                    // TODO - notify the router module
+                    ;
+                qdr_link_accept_CT(core, link);
+            }
             break;
+        }
+
         case QD_LINK_WAYPOINT:
             // No action, waypoint links are rejected above.
             break;
+
         case QD_LINK_CONTROL:
+            link->owning_addr = core->hello_addr;
+            qdr_add_link_ref(&core->hello_addr->rlinks, link);
+            core->control_links_by_mask_bit[conn->mask_bit] = link;
             break;
+
         case QD_LINK_ROUTER:
+            core->data_links_by_mask_bit[conn->mask_bit] = link;
             break;
         }
     }
@@ -603,29 +640,16 @@ static void qdr_link_first_attach_CT(qdr_core_t *core, qdr_action_t *action, boo
     //
     // dir = Incoming or Outgoing:
     //    Link is an router-control link
-    //       If this isn't an inter-router connection, close the link
     //       Note the control link on the connection
     //       Issue a second attach back to the originating node
-    //    Link is addressed (i.e. has a target/source address)
-    //       If this is a link-routed address, Issue a first attach to the next hop
-    //       If not link-routed, issue a second attach back to the originating node
     //
     // dir = Incoming:
-    //    Link is addressed (i.e. has a target address) and not link-routed
-    //       Lookup/Create address in the address table and associate the link to the address
-    //       Issue a second attach back to the originating node
-    //    Link is anonymous
-    //       Issue a second attach back to the originating node
     //    Issue credit for the inbound fifo
     //
     // dir = Outgoing:
     //    Link is a router-control link
     //       Associate the link with the router-hello address
     //       Associate the link with the link-mask-bit being used by the router
-    //    Link is addressed (i.e. has a non-dynamic source address)
-    //       If the address is appropriate for distribution, add it to the address table as a local destination
-    //       If this is the first local dest for this address, notify the router (mobile_added)
-    //       Issue a second attach back to the originating node
     //
 }
 

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/dbdff65b/src/router_core/route_tables.c
----------------------------------------------------------------------
diff --git a/src/router_core/route_tables.c b/src/router_core/route_tables.c
index 97ddad4..11e5bd3 100644
--- a/src/router_core/route_tables.c
+++ b/src/router_core/route_tables.c
@@ -40,7 +40,7 @@ static qd_address_semantics_t router_addr_semantics = QD_FANOUT_SINGLE | QD_BIAS
 
 void qdr_core_add_router(qdr_core_t *core, const char *address, int router_maskbit)
 {
-    qdr_action_t *action = qdr_action(qdrh_add_router_CT);
+    qdr_action_t *action = qdr_action(qdrh_add_router_CT, "add_router");
     action->args.route_table.router_maskbit = router_maskbit;
     action->args.route_table.address        = qdr_field(address);
     qdr_action_enqueue(core, action);
@@ -49,7 +49,7 @@ void qdr_core_add_router(qdr_core_t *core, const char *address, int router_maskb
 
 void qdr_core_del_router(qdr_core_t *core, int router_maskbit)
 {
-    qdr_action_t *action = qdr_action(qdrh_del_router_CT);
+    qdr_action_t *action = qdr_action(qdrh_del_router_CT, "del_router");
     action->args.route_table.router_maskbit = router_maskbit;
     qdr_action_enqueue(core, action);
 }
@@ -57,7 +57,7 @@ void qdr_core_del_router(qdr_core_t *core, int router_maskbit)
 
 void qdr_core_set_link(qdr_core_t *core, int router_maskbit, int link_maskbit)
 {
-    qdr_action_t *action = qdr_action(qdrh_set_link_CT);
+    qdr_action_t *action = qdr_action(qdrh_set_link_CT, "set_link");
     action->args.route_table.router_maskbit = router_maskbit;
     action->args.route_table.link_maskbit   = link_maskbit;
     qdr_action_enqueue(core, action);
@@ -66,7 +66,7 @@ void qdr_core_set_link(qdr_core_t *core, int router_maskbit, int link_maskbit)
 
 void qdr_core_remove_link(qdr_core_t *core, int router_maskbit)
 {
-    qdr_action_t *action = qdr_action(qdrh_remove_link_CT);
+    qdr_action_t *action = qdr_action(qdrh_remove_link_CT, "remove_link");
     action->args.route_table.router_maskbit = router_maskbit;
     qdr_action_enqueue(core, action);
 }
@@ -74,7 +74,7 @@ void qdr_core_remove_link(qdr_core_t *core, int router_maskbit)
 
 void qdr_core_set_next_hop(qdr_core_t *core, int router_maskbit, int nh_router_maskbit)
 {
-    qdr_action_t *action = qdr_action(qdrh_set_next_hop_CT);
+    qdr_action_t *action = qdr_action(qdrh_set_next_hop_CT, "set_next_hop");
     action->args.route_table.router_maskbit    = router_maskbit;
     action->args.route_table.nh_router_maskbit = nh_router_maskbit;
     qdr_action_enqueue(core, action);
@@ -83,7 +83,7 @@ void qdr_core_set_next_hop(qdr_core_t *core, int router_maskbit, int nh_router_m
 
 void qdr_core_remove_next_hop(qdr_core_t *core, int router_maskbit)
 {
-    qdr_action_t *action = qdr_action(qdrh_remove_next_hop_CT);
+    qdr_action_t *action = qdr_action(qdrh_remove_next_hop_CT, "remove_next_hop");
     action->args.route_table.router_maskbit = router_maskbit;
     qdr_action_enqueue(core, action);
 }
@@ -91,7 +91,7 @@ void qdr_core_remove_next_hop(qdr_core_t *core, int router_maskbit)
 
 void qdr_core_set_valid_origins(qdr_core_t *core, int router_maskbit, qd_bitmask_t *routers)
 {
-    qdr_action_t *action = qdr_action(qdrh_set_valid_origins_CT);
+    qdr_action_t *action = qdr_action(qdrh_set_valid_origins_CT, "set_valid_origins");
     action->args.route_table.router_maskbit = router_maskbit;
     action->args.route_table.router_set     = routers;
     qdr_action_enqueue(core, action);
@@ -100,7 +100,7 @@ void qdr_core_set_valid_origins(qdr_core_t *core, int router_maskbit, qd_bitmask
 
 void qdr_core_map_destination(qdr_core_t *core, int router_maskbit, const char *address, char aclass, char phase, qd_address_semantics_t sem)
 {
-    qdr_action_t *action = qdr_action(qdrh_map_destination_CT);
+    qdr_action_t *action = qdr_action(qdrh_map_destination_CT, "map_destination");
     action->args.route_table.router_maskbit = router_maskbit;
     action->args.route_table.address        = qdr_field(address);
     action->args.route_table.address_phase  = phase;
@@ -112,7 +112,7 @@ void qdr_core_map_destination(qdr_core_t *core, int router_maskbit, const char *
 
 void qdr_core_unmap_destination(qdr_core_t *core, int router_maskbit, const char *address, char aclass, char phase)
 {
-    qdr_action_t *action = qdr_action(qdrh_unmap_destination_CT);
+    qdr_action_t *action = qdr_action(qdrh_unmap_destination_CT, "unmap_destination");
     action->args.route_table.router_maskbit = router_maskbit;
     action->args.route_table.address        = qdr_field(address);
     action->args.route_table.address_phase  = phase;
@@ -136,7 +136,7 @@ void qdr_core_route_table_handlers(qdr_core_t           *core,
 void qdr_core_subscribe(qdr_core_t *core, const char *address, char aclass, char phase,
                         qd_address_semantics_t sem, qdr_receive_t on_message, void *context)
 {
-    qdr_action_t *action = qdr_action(qdrh_subscribe_CT);
+    qdr_action_t *action = qdr_action(qdrh_subscribe_CT, "subscribe");
     action->args.subscribe.address        = qdr_field(address);
     action->args.subscribe.semantics      = sem;
     action->args.subscribe.address_class  = aclass;

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/dbdff65b/src/router_core/router_core.c
----------------------------------------------------------------------
diff --git a/src/router_core/router_core.c b/src/router_core/router_core.c
index 4e86c9b..e1c3fff 100644
--- a/src/router_core/router_core.c
+++ b/src/router_core/router_core.c
@@ -118,14 +118,16 @@ void qdr_field_free(qdr_field_t *field)
 }
 
 
-qdr_action_t *qdr_action(qdr_action_handler_t action_handler)
+qdr_action_t *qdr_action(qdr_action_handler_t action_handler, const char *label)
 {
     qdr_action_t *action = new_qdr_action_t();
     ZERO(action);
     action->action_handler = action_handler;
+    action->label          = label;
     return action;
 }
 
+
 void qdr_action_enqueue(qdr_core_t *core, qdr_action_t *action)
 {
     sys_mutex_lock(core->action_lock);

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/dbdff65b/src/router_core/router_core_private.h
----------------------------------------------------------------------
diff --git a/src/router_core/router_core_private.h b/src/router_core/router_core_private.h
index 11176a6..dfeefd6 100644
--- a/src/router_core/router_core_private.h
+++ b/src/router_core/router_core_private.h
@@ -45,7 +45,8 @@ typedef void (*qdr_action_handler_t) (qdr_core_t *core, qdr_action_t *action, bo
 
 struct qdr_action_t {
     DEQ_LINKS(qdr_action_t);
-    qdr_action_handler_t action_handler;
+    qdr_action_handler_t  action_handler;
+    const char           *label;
     union {
         //
         // Arguments for router control-plane actions
@@ -162,7 +163,6 @@ struct qdr_link_t {
     qdr_connection_t         *conn;            ///< [ref] Connection that owns this link
     qd_link_type_t            link_type;
     qd_direction_t            link_direction;
-    qdr_address_t            *addr;            ///< [ref] Associated address record
     qdr_address_t            *owning_addr;     ///< [ref] Address record that owns this link
     //qd_waypoint_t            *waypoint;        ///< [ref] Waypoint that owns this link
     qdr_link_t               *connected_link;  ///< [ref] If this is a link-route, reference the connected link
@@ -211,6 +211,7 @@ struct qdr_address_t {
     void                      *on_message_context;  ///< In-Process Consumer context
     qdr_lrp_ref_list_t         lrps;                ///< Local link-route destinations
     qdr_link_ref_list_t        rlinks;              ///< Locally-Connected Consumers
+    qdr_link_ref_list_t        inlinks;             ///< Locally-Connected Producers
     qdr_router_ref_list_t      rnodes;              ///< Remotely-Connected Consumers
     qd_hash_handle_t          *hash_handle;         ///< Linkage back to the hash table entry
     qd_address_semantics_t     semantics;
@@ -338,7 +339,7 @@ typedef enum {
 void *router_core_thread(void *arg);
 void  qdr_route_table_setup_CT(qdr_core_t *core);
 void  qdr_agent_setup_CT(qdr_core_t *core);
-qdr_action_t *qdr_action(qdr_action_handler_t action_handler);
+qdr_action_t *qdr_action(qdr_action_handler_t action_handler, const char *label);
 void qdr_action_enqueue(qdr_core_t *core, qdr_action_t *action);
 void qdr_agent_enqueue_response_CT(qdr_core_t *core, qdr_query_t *query);
 

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/dbdff65b/src/router_core/router_core_thread.c
----------------------------------------------------------------------
diff --git a/src/router_core/router_core_thread.c b/src/router_core/router_core_thread.c
index 4212664..9debd25 100644
--- a/src/router_core/router_core_thread.c
+++ b/src/router_core/router_core_thread.c
@@ -65,6 +65,7 @@ void *router_core_thread(void *arg)
         action = DEQ_HEAD(action_list);
         while (action) {
             DEQ_REMOVE_HEAD(action_list);
+            qd_log(core->log, QD_LOG_TRACE, "Core action '%s'%s", action->label, core->running ? "" : " (discard)");
             action->action_handler(core, action, !core->running);
             free_qdr_action_t(action);
             action = DEQ_HEAD(action_list);

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/dbdff65b/src/router_node.c
----------------------------------------------------------------------
diff --git a/src/router_node.c b/src/router_node.c
index 0f2c32b..1eb6bc6 100644
--- a/src/router_node.c
+++ b/src/router_node.c
@@ -1915,13 +1915,44 @@ qd_router_t *qd_router(qd_dispatch_t *qd, qd_router_mode_t mode, const char *are
     return router;
 }
 
+
+static void qd_router_connection_activate(void *context, qdr_connection_t *conn)
+{
+    //qd_router_t *router = (qd_router_t*) context;
+}
+
+
+static void qd_router_link_first_attach(void *context, qdr_connection_t *conn, qdr_link_t *link, 
+                                        qdr_terminus_t *source, qdr_terminus_t *target)
+{
+}
+
+
+static void qd_router_link_second_attach(void *context, qdr_link_t *link, qdr_terminus_t *source, qdr_terminus_t *target)
+{
+}
+
+
+static void qd_router_link_detach(void *context, qdr_link_t *link, pn_condition_t *condition)
+{
+}
+
+
 void qd_router_setup_late(qd_dispatch_t *qd)
 {
-    qd_router_python_setup(qd->router);
     qd->router->router_core = qdr_core(qd);
+
+    qdr_connection_handlers(qd->router->router_core, (void*) qd->router,
+                            qd_router_connection_activate,
+                            qd_router_link_first_attach,
+                            qd_router_link_second_attach,
+                            qd_router_link_detach);
+
+    qd_router_python_setup(qd->router);
     qd_timer_schedule(qd->router->timer, 1000);
 
     //Register the C management agent
+    // DEPRECATE
     qd_router_register_address(qd, CORE_AGENT_ADDRESS, management_agent_handler, (void *) qd, QD_SEMANTICS_DEFAULT, true, 0/*forwarder*/);
     qd_router_register_address(qd, CORE_AGENT_ADDRESS, management_agent_handler, (void *) qd, QD_SEMANTICS_DEFAULT, false, 0/*forwarder*/);
 }

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/dbdff65b/tests/config-2/A.conf
----------------------------------------------------------------------
diff --git a/tests/config-2/A.conf b/tests/config-2/A.conf
index 20d13c3..a5b948d 100644
--- a/tests/config-2/A.conf
+++ b/tests/config-2/A.conf
@@ -87,7 +87,7 @@ fixedAddress {
 }
 
 log {
-    module: ROUTER
+    module: ROUTER_CORE
     enable: trace+
 }
 

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/dbdff65b/tests/config-2/B.conf
----------------------------------------------------------------------
diff --git a/tests/config-2/B.conf b/tests/config-2/B.conf
index c356927..fb0ca78 100644
--- a/tests/config-2/B.conf
+++ b/tests/config-2/B.conf
@@ -87,6 +87,7 @@ fixedAddress {
 }
 
 log {
-    module: ROUTER
+    module: ROUTER_CORE
     enable: trace+
 }
+


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org