You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ac...@apache.org on 2014/05/20 22:20:14 UTC
svn commit: r1596391 - in /qpid/dispatch/trunk: src/router_node.c
src/router_private.h src/router_pynode.c src/waypoint.c tests/system_test.py
Author: aconway
Date: Tue May 20 20:20:13 2014
New Revision: 1596391
URL: http://svn.apache.org/r1596391
Log:
NO-JIRA: Refactor: centralize construction of qd_address_t in qd_address()
Modified:
qpid/dispatch/trunk/src/router_node.c
qpid/dispatch/trunk/src/router_private.h
qpid/dispatch/trunk/src/router_pynode.c
qpid/dispatch/trunk/src/waypoint.c
qpid/dispatch/trunk/tests/system_test.py
Modified: qpid/dispatch/trunk/src/router_node.c
URL: http://svn.apache.org/viewvc/qpid/dispatch/trunk/src/router_node.c?rev=1596391&r1=1596390&r2=1596391&view=diff
==============================================================================
--- qpid/dispatch/trunk/src/router_node.c (original)
+++ qpid/dispatch/trunk/src/router_node.c Tue May 20 20:20:13 2014
@@ -59,6 +59,15 @@ ALLOC_DEFINE(qd_address_t);
ALLOC_DEFINE(qd_router_conn_t);
+qd_address_t* qd_address() {
+ qd_address_t* addr = new_qd_address_t();
+ memset(addr, 0, sizeof(qd_address_t));
+ DEQ_ITEM_INIT(addr);
+ DEQ_INIT(addr->rlinks);
+ DEQ_INIT(addr->rnodes);
+ return addr;
+}
+
void qd_router_add_link_ref_LH(qd_router_link_ref_list_t *ref_list, qd_router_link_t *link)
{
qd_router_link_ref_t *ref = new_qd_router_link_ref_t();
@@ -1117,11 +1126,7 @@ static int router_outgoing_link_handler(
qd_hash_retrieve(router->addr_hash, iter, (void**) &addr);
if (!addr) {
- addr = new_qd_address_t();
- memset(addr, 0, sizeof(qd_address_t));
- DEQ_ITEM_INIT(addr);
- DEQ_INIT(addr->rlinks);
- DEQ_INIT(addr->rnodes);
+ addr = qd_address();
qd_hash_insert(router->addr_hash, iter, addr, &addr->hash_handle);
DEQ_INSERT_TAIL(router->addrs, addr);
addr->semantics = semantics;
@@ -1509,11 +1514,7 @@ qd_address_t *qd_router_register_address
sys_mutex_lock(router->lock);
qd_hash_retrieve(router->addr_hash, iter, (void**) &addr);
if (!addr) {
- addr = new_qd_address_t();
- memset(addr, 0, sizeof(qd_address_t));
- DEQ_ITEM_INIT(addr);
- DEQ_INIT(addr->rlinks);
- DEQ_INIT(addr->rnodes);
+ addr = qd_address();
addr->semantics = semantics;
qd_hash_insert(router->addr_hash, iter, addr, &addr->hash_handle);
DEQ_ITEM_INIT(addr);
Modified: qpid/dispatch/trunk/src/router_private.h
URL: http://svn.apache.org/viewvc/qpid/dispatch/trunk/src/router_private.h?rev=1596391&r1=1596390&r2=1596391&view=diff
==============================================================================
--- qpid/dispatch/trunk/src/router_private.h (original)
+++ qpid/dispatch/trunk/src/router_private.h Tue May 20 20:20:13 2014
@@ -156,6 +156,8 @@ struct qd_address_t {
ALLOC_DECLARE(qd_address_t);
DEQ_DECLARE(qd_address_t, qd_address_list_t);
+/** Constructor for qd_address_t */
+qd_address_t* qd_address();
struct qd_config_phase_t {
DEQ_LINKS(qd_config_phase_t);
Modified: qpid/dispatch/trunk/src/router_pynode.c
URL: http://svn.apache.org/viewvc/qpid/dispatch/trunk/src/router_pynode.c?rev=1596391&r1=1596390&r2=1596391&view=diff
==============================================================================
--- qpid/dispatch/trunk/src/router_pynode.c (original)
+++ qpid/dispatch/trunk/src/router_pynode.c Tue May 20 20:20:13 2014
@@ -77,11 +77,7 @@ static char *qd_add_router(qd_router_t *
// This record will be found whenever a "foreign" topological address to this
// remote router is looked up.
//
- addr = new_qd_address_t();
- memset(addr, 0, sizeof(qd_address_t));
- DEQ_ITEM_INIT(addr);
- DEQ_INIT(addr->rlinks);
- DEQ_INIT(addr->rnodes);
+ addr = qd_address();
addr->semantics = router_addr_semantics;
qd_hash_insert(router->addr_hash, iter, addr, &addr->hash_handle);
DEQ_INSERT_TAIL(router->addrs, addr);
@@ -386,11 +382,7 @@ static PyObject* qd_map_destination(PyOb
sys_mutex_lock(router->lock);
qd_hash_retrieve(router->addr_hash, iter, (void**) &addr);
if (!addr) {
- addr = new_qd_address_t();
- memset(addr, 0, sizeof(qd_address_t));
- DEQ_ITEM_INIT(addr);
- DEQ_INIT(addr->rlinks);
- DEQ_INIT(addr->rnodes);
+ addr = qd_address();
qd_hash_insert(router->addr_hash, iter, addr, &addr->hash_handle);
addr->semantics = router_semantics_for_addr(router, iter, phase, &unused);
DEQ_ITEM_INIT(addr);
Modified: qpid/dispatch/trunk/src/waypoint.c
URL: http://svn.apache.org/viewvc/qpid/dispatch/trunk/src/waypoint.c?rev=1596391&r1=1596390&r2=1596391&view=diff
==============================================================================
--- qpid/dispatch/trunk/src/waypoint.c (original)
+++ qpid/dispatch/trunk/src/waypoint.c Tue May 20 20:20:13 2014
@@ -65,11 +65,7 @@ static void qd_waypoint_visit_sink_LH(qd
qd_hash_retrieve(router->addr_hash, iter, (void*) &addr);
if (!addr) {
- addr = new_qd_address_t();
- memset(addr, 0, sizeof(qd_address_t));
- DEQ_ITEM_INIT(addr);
- DEQ_INIT(addr->rlinks);
- DEQ_INIT(addr->rnodes);
+ addr = qd_address();
qd_hash_insert(router->addr_hash, iter, addr, &addr->hash_handle);
DEQ_INSERT_TAIL(router->addrs, addr);
addr->waypoint = true;
@@ -142,11 +138,7 @@ static void qd_waypoint_visit_source_LH(
qd_hash_retrieve(router->addr_hash, iter, (void*) &addr);
if (!addr) {
- addr = new_qd_address_t();
- memset(addr, 0, sizeof(qd_address_t));
- DEQ_ITEM_INIT(addr);
- DEQ_INIT(addr->rlinks);
- DEQ_INIT(addr->rnodes);
+ addr = qd_address();
qd_hash_insert(router->addr_hash, iter, addr, &addr->hash_handle);
DEQ_INSERT_TAIL(router->addrs, addr);
addr->waypoint = true;
Modified: qpid/dispatch/trunk/tests/system_test.py
URL: http://svn.apache.org/viewvc/qpid/dispatch/trunk/tests/system_test.py?rev=1596391&r1=1596390&r2=1596391&view=diff
==============================================================================
--- qpid/dispatch/trunk/tests/system_test.py (original)
+++ qpid/dispatch/trunk/tests/system_test.py Tue May 20 20:20:13 2014
@@ -347,6 +347,15 @@ class Qdrouterd(Process):
return c
return None
+ def wait_connectors(self):
+ """Wait for all connectors to be connected"""
+ for c in self.config.sections('connector'):
+ retry(lambda: self.is_connected(c['port']))
+
+ def wait_ready(self):
+ """Wait for ports and connectors to be ready"""
+ wait_ports(self.ports)
+ self.wait_connectors()
class Qpidd(Process):
"""Run a Qpid Daemon"""
@@ -511,13 +520,17 @@ class Tester(object):
class TestCase(unittest.TestCase, Tester): # pylint: disable=too-many-public-methods
"""A TestCase that sets up its own working directory and is also a Tester."""
+ _base_dir = None
+
def __init__(self, test_method):
unittest.TestCase.__init__(self, test_method)
Tester.__init__(self)
@classmethod
def base_dir(cls):
- return os.path.abspath(os.path.join(__name__, cls.__name__))
+ if not cls._base_dir:
+ cls._base_dir = os.path.abspath(os.path.join(__name__+'.dir', cls.__name__))
+ return cls._base_dir
@classmethod
def setUpClass(cls):
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org