[jira] [Commented] (DISPATCH-1160) Add edge address tracking module to interior routers which will inform edges of mobile address receiver changes
[ https://issues.apache.org/jira/browse/DISPATCH-1160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16671827#comment-16671827 ] ASF GitHub Bot commented on DISPATCH-1160: -- Github user asfgit closed the pull request at: https://github.com/apache/qpid-dispatch/pull/410 > Add edge address tracking module to interior routers which will inform edges > of mobile address receiver changes > --- > > Key: DISPATCH-1160 > URL: https://issues.apache.org/jira/browse/DISPATCH-1160 > Project: Qpid Dispatch > Issue Type: Improvement >Affects Versions: 1.4.1 >Reporter: Ganesh Murthy >Assignee: Ganesh Murthy >Priority: Major > Fix For: 1.5.0 > > -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (DISPATCH-1160) Add edge address tracking module to interior routers which will inform edges of mobile address receiver changes
[ https://issues.apache.org/jira/browse/DISPATCH-1160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16671825#comment-16671825 ] ASF subversion and git services commented on DISPATCH-1160: --- Commit 6cf2f20ab297d963330e635c53393cba9dc7e8a4 in qpid-dispatch's branch refs/heads/master from [~ganeshmurthy] [ https://git-wip-us.apache.org/repos/asf?p=qpid-dispatch.git;h=6cf2f20 ] DISPATCH-1160 - Added edge address tracking module to interior router This closes #410 > Add edge address tracking module to interior routers which will inform edges > of mobile address receiver changes > --- > > Key: DISPATCH-1160 > URL: https://issues.apache.org/jira/browse/DISPATCH-1160 > Project: Qpid Dispatch > Issue Type: Improvement >Affects Versions: 1.4.1 >Reporter: Ganesh Murthy >Assignee: Ganesh Murthy >Priority: Major > Fix For: 1.5.0 > > -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (DISPATCH-1160) Add edge address tracking module to interior routers which will inform edges of mobile address receiver changes
[ https://issues.apache.org/jira/browse/DISPATCH-1160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16671788#comment-16671788 ] ASF GitHub Bot commented on DISPATCH-1160: -- Github user codecov-io commented on the issue: https://github.com/apache/qpid-dispatch/pull/410 # [Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/410?src=pr&el=h1) Report > Merging [#410](https://codecov.io/gh/apache/qpid-dispatch/pull/410?src=pr&el=desc) into [master](https://codecov.io/gh/apache/qpid-dispatch/commit/413d727b6e1772d87a23f88261cdced4940d33ee?src=pr&el=desc) will **increase** coverage by `0.27%`. > The diff coverage is `89.5%`. [![Impacted file tree graph](https://codecov.io/gh/apache/qpid-dispatch/pull/410/graphs/tree.svg?width=650&token=rk2Cgd27pP&height=150&src=pr)](https://codecov.io/gh/apache/qpid-dispatch/pull/410?src=pr&el=tree) ```diff @@Coverage Diff @@ ## master #410 +/- ## == + Coverage 85.16% 85.44% +0.27% == Files 78 79 +1 Lines 1742917591 +162 == + Hits1484315030 +187 + Misses 2586 2561 -25 ``` | [Impacted Files](https://codecov.io/gh/apache/qpid-dispatch/pull/410?src=pr&el=tree) | Coverage Δ | | |---|---|---| | [src/router\_core/router\_core.c](https://codecov.io/gh/apache/qpid-dispatch/pull/410/diff?src=pr&el=tree#diff-c3JjL3JvdXRlcl9jb3JlL3JvdXRlcl9jb3JlLmM=) | `93.27% <85.71%> (-0.16%)` | :arrow_down: | | [...re/modules/edge\_addr\_tracking/edge\_addr\_tracking.c](https://codecov.io/gh/apache/qpid-dispatch/pull/410/diff?src=pr&el=tree#diff-c3JjL3JvdXRlcl9jb3JlL21vZHVsZXMvZWRnZV9hZGRyX3RyYWNraW5nL2VkZ2VfYWRkcl90cmFja2luZy5j) | `89.67% <89.67%> (ø)` | | | [src/router\_node.c](https://codecov.io/gh/apache/qpid-dispatch/pull/410/diff?src=pr&el=tree#diff-c3JjL3JvdXRlcl9ub2RlLmM=) | `93.78% <0%> (+0.12%)` | :arrow_up: | | [src/router\_core/connections.c](https://codecov.io/gh/apache/qpid-dispatch/pull/410/diff?src=pr&el=tree#diff-c3JjL3JvdXRlcl9jb3JlL2Nvbm5lY3Rpb25zLmM=) | `95.48% <0%> (+0.21%)` | :arrow_up: | | [src/router\_core/transfer.c](https://codecov.io/gh/apache/qpid-dispatch/pull/410/diff?src=pr&el=tree#diff-c3JjL3JvdXRlcl9jb3JlL3RyYW5zZmVyLmM=) | `90.31% <0%> (+0.44%)` | :arrow_up: | | [src/router\_core/agent\_link.c](https://codecov.io/gh/apache/qpid-dispatch/pull/410/diff?src=pr&el=tree#diff-c3JjL3JvdXRlcl9jb3JlL2FnZW50X2xpbmsuYw==) | `63.84% <0%> (+0.56%)` | :arrow_up: | | [src/router\_core/core\_timer.c](https://codecov.io/gh/apache/qpid-dispatch/pull/410/diff?src=pr&el=tree#diff-c3JjL3JvdXRlcl9jb3JlL2NvcmVfdGltZXIuYw==) | `96.42% <0%> (+1.78%)` | :arrow_up: | | [src/router\_core/core\_events.c](https://codecov.io/gh/apache/qpid-dispatch/pull/410/diff?src=pr&el=tree#diff-c3JjL3JvdXRlcl9jb3JlL2NvcmVfZXZlbnRzLmM=) | `100% <0%> (+11.36%)` | :arrow_up: | | [src/router\_core/modules/edge\_router/addr\_proxy.c](https://codecov.io/gh/apache/qpid-dispatch/pull/410/diff?src=pr&el=tree#diff-c3JjL3JvdXRlcl9jb3JlL21vZHVsZXMvZWRnZV9yb3V0ZXIvYWRkcl9wcm94eS5j) | `86.61% <0%> (+20.42%)` | :arrow_up: | -- [Continue to review full report at Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/410?src=pr&el=continue). > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta) > `Δ = absolute (impact)`, `ø = not affected`, `? = missing data` > Powered by [Codecov](https://codecov.io/gh/apache/qpid-dispatch/pull/410?src=pr&el=footer). Last update [413d727...911abcb](https://codecov.io/gh/apache/qpid-dispatch/pull/410?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments). > Add edge address tracking module to interior routers which will inform edges > of mobile address receiver changes > --- > > Key: DISPATCH-1160 > URL: https://issues.apache.org/jira/browse/DISPATCH-1160 > Project: Qpid Dispatch > Issue Type: Improvement >Affects Versions: 1.4.1 >Reporter: Ganesh Murthy >Assignee: Ganesh Murthy >Priority: Major > Fix For: 1.5.0 > > -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (DISPATCH-1160) Add edge address tracking module to interior routers which will inform edges of mobile address receiver changes
[ https://issues.apache.org/jira/browse/DISPATCH-1160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16670408#comment-16670408 ] ASF GitHub Bot commented on DISPATCH-1160: -- Github user ted-ross commented on a diff in the pull request: https://github.com/apache/qpid-dispatch/pull/410#discussion_r229791449 --- Diff: src/router_core/modules/edge_addr_tracking/edge_addr_tracking.c --- @@ -0,0 +1,372 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +#include +#include +#include "module.h" +#include "core_link_endpoint.h" +#include "edge_addr_tracking.h" +#include + + +struct qdr_addr_endpoint_state_t { +DEQ_LINKS(qdr_addr_endpoint_state_t); +qdrc_endpoint_t*endpoint; +qdr_connection_t *conn;// The connection associated with the endpoint. +qdr_addr_tracking_module_context_t *mc; +}; + +DEQ_DECLARE(qdr_addr_endpoint_state_t, qdr_addr_endpoint_state_list_t); +ALLOC_DECLARE(qdr_addr_endpoint_state_t); +ALLOC_DEFINE(qdr_addr_endpoint_state_t); + +struct qdr_addr_tracking_module_context_t { +qdr_core_t *core; +qdr_addr_endpoint_state_list_t endpoint_state_list; +qdrc_event_subscription_t *event_sub; +qdrc_endpoint_desc_t addr_tracking_endpoint; +}; + + +static qd_message_t *qdcm_edge_create_address_dlv(qdr_core_t *core, qdr_address_t *addr, bool insert_addr) +{ +qd_message_t *msg = qd_message(); + +// +// Start header +// +qd_composed_field_t *fld = qd_compose(QD_PERFORMATIVE_HEADER, 0); +qd_compose_start_list(fld); +qd_compose_insert_bool(fld, 0); // durable +qd_compose_end_list(fld); + +qd_composed_field_t *body = qd_compose(QD_PERFORMATIVE_BODY_AMQP_VALUE, 0); + +qd_compose_start_list(body); + +const char *addr_str = (const char *)qd_hash_key_by_handle(addr->hash_handle); + +qd_compose_insert_string(body, addr_str); +qd_compose_insert_bool(body, insert_addr); +qd_compose_end_list(body); + +// Finally, compose and retuen the message so it can be sent out. +qd_message_compose_3(msg, fld, body); + +return msg; +} + +static qdr_addr_endpoint_state_t *qdrc_get_endpoint_state_for_connection(qdr_addr_endpoint_state_list_t endpoint_state_list, qdr_connection_t *conn, qdr_link_t *link) +{ +qdr_addr_endpoint_state_t *endpoint_state = DEQ_HEAD(endpoint_state_list); +while(endpoint_state) { +if (endpoint_state->conn == conn) { +return endpoint_state; +} +endpoint_state = DEQ_NEXT(endpoint_state); +} +return 0; +} + + +static void qdrc_address_endpoint_first_attach(void *bind_context, + qdrc_endpoint_t *endpoint, + void **link_context, + qdr_terminus_t *remote_source, + qdr_terminus_t *remote_target) +{ +qdr_addr_tracking_module_context_t *bc = (qdr_addr_tracking_module_context_t *) bind_context; + +qdr_addr_endpoint_state_t *endpoint_state = new_qdr_addr_endpoint_state_t(); + +ZERO(endpoint_state); +endpoint_state->endpoint = endpoint; +endpoint_state->mc = bc; +endpoint_state->conn = qdrc_endpoint_get_connection_CT(endpoint); + +DEQ_INSERT_TAIL(bc->endpoint_state_list, endpoint_state); + + +// +// The link to hard coded address QD_TERMINUS_EDGE_ADDRESS_TRACKING should be created only if this is a receiver link +// and if this link is created inside the QDR_ROLE_EDGE_CONNECTION connection. +// +if (
[jira] [Commented] (DISPATCH-1160) Add edge address tracking module to interior routers which will inform edges of mobile address receiver changes
[ https://issues.apache.org/jira/browse/DISPATCH-1160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16670406#comment-16670406 ] ASF GitHub Bot commented on DISPATCH-1160: -- Github user ted-ross commented on a diff in the pull request: https://github.com/apache/qpid-dispatch/pull/410#discussion_r229788028 --- Diff: tests/system_tests_edge_router.py --- @@ -345,5 +620,420 @@ def run(self): Container(self).run() -if __name__ == '__main__': +class MobileAddressOneSenderTwoReceiversTest(MessagingHandler): +def __init__(self, receiver1_host, receiver2_host, sender_host, address): +super(MobileAddressOneSenderTwoReceiversTest, self).__init__() +self.receiver1_host = receiver1_host +self.receiver2_host = receiver2_host +self.sender_host = sender_host +self.address = address + +# One sender connection and two receiver connections +self.receiver1_conn = None +self.receiver2_conn = None +self.sender_conn = None + +self.receiver1 = None +self.receiver2 = None +self.sender = None + +self.count = 300 +self.rel_count = 50 +self.n_rcvd1 = 0 +self.n_rcvd2 = 0 +self.n_sent = 0 +self.n_settled = 0 +self.n_released = 0 +self.error = None +self.timer = None +self.all_msgs_received = False +self.recvd_msg_bodies = dict() +self.dup_msg = None + +def timeout(self): +if self.dup_msg: +self.error = "Duplicate message %s received " % self.dup_msg +else: +self.error = "Timeout Expired - n_sent=%d n_rcvd=%d n_settled=%d n_released=%d addr=%s" % \ + (self.n_sent, (self.n_rcvd1 + self.n_rcvd2), self.n_settled, self.n_released, self.address) + +self.receiver1_conn.close() +self.receiver2_conn.close() +self.sender_conn.close() + +def on_start(self, event): +self.timer = event.reactor.schedule(5.0, Timeout(self)) + +# Create two receivers +self.receiver1_conn = event.container.connect(self.receiver1_host) +self.receiver2_conn = event.container.connect(self.receiver2_host) +self.receiver1 = event.container.create_receiver(self.receiver1_conn, + self.address) +self.receiver2 = event.container.create_receiver(self.receiver2_conn, + self.address) + +# Create one sender +self.sender_conn = event.container.connect(self.sender_host) +self.sender = event.container.create_sender(self.sender_conn, +self.address) + +def on_sendable(self, event): +while self.n_sent < self.count: +self.sender.send(Message(body="Message %d" % self.n_sent)) +self.n_sent += 1 + +def on_message(self, event): +if self.recvd_msg_bodies.get(event.message.body): +self.dup_msg = event.message.body +self.timeout() +else: +self.recvd_msg_bodies[event.message.body] = event.message.body + +if event.receiver == self.receiver1: +self.n_rcvd1 += 1 +if event.receiver == self.receiver2: +self.n_rcvd2 += 1 + +if self.n_sent == self.n_rcvd1 + self.n_rcvd2: +self.all_msgs_received = True + +def on_settled(self, event): +self.n_settled += 1 +if self.n_settled == self.count: +self.receiver1.close() +self.receiver2.close() +for i in range(self.rel_count): +self.sender.send(Message(body="Message %d" % self.n_sent)) +self.n_sent += 1 + +def on_released(self, event): +self.n_released += 1 +if self.n_released == self.rel_count and self.all_msgs_received: +self.receiver1_conn.close() +self.receiver2_conn.close() +self.sender_conn.close() +self.timer.cancel() + +def run(self): +Container(self).run() + + +class MobileAddressMulticastTest(MessagingHandler): +def __init__(self, receiver1_host, receiver2_host, receiver3_host, + sender_host, address, large_msg=False, check_addr=False): +super(MobileAddressMulticastTest, self).__init__() +self.receiver1_host = receiver1_host +sel
[jira] [Commented] (DISPATCH-1160) Add edge address tracking module to interior routers which will inform edges of mobile address receiver changes
[ https://issues.apache.org/jira/browse/DISPATCH-1160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16670409#comment-16670409 ] ASF GitHub Bot commented on DISPATCH-1160: -- Github user ted-ross commented on a diff in the pull request: https://github.com/apache/qpid-dispatch/pull/410#discussion_r229790940 --- Diff: src/router_core/modules/edge_addr_tracking/edge_addr_tracking.c --- @@ -0,0 +1,372 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +#include +#include +#include "module.h" +#include "core_link_endpoint.h" +#include "edge_addr_tracking.h" +#include + + +struct qdr_addr_endpoint_state_t { +DEQ_LINKS(qdr_addr_endpoint_state_t); +qdrc_endpoint_t*endpoint; +qdr_connection_t *conn;// The connection associated with the endpoint. +qdr_addr_tracking_module_context_t *mc; +}; + +DEQ_DECLARE(qdr_addr_endpoint_state_t, qdr_addr_endpoint_state_list_t); +ALLOC_DECLARE(qdr_addr_endpoint_state_t); +ALLOC_DEFINE(qdr_addr_endpoint_state_t); + +struct qdr_addr_tracking_module_context_t { +qdr_core_t *core; +qdr_addr_endpoint_state_list_t endpoint_state_list; +qdrc_event_subscription_t *event_sub; +qdrc_endpoint_desc_t addr_tracking_endpoint; +}; + + +static qd_message_t *qdcm_edge_create_address_dlv(qdr_core_t *core, qdr_address_t *addr, bool insert_addr) +{ +qd_message_t *msg = qd_message(); + +// +// Start header +// +qd_composed_field_t *fld = qd_compose(QD_PERFORMATIVE_HEADER, 0); +qd_compose_start_list(fld); +qd_compose_insert_bool(fld, 0); // durable +qd_compose_end_list(fld); + +qd_composed_field_t *body = qd_compose(QD_PERFORMATIVE_BODY_AMQP_VALUE, 0); + +qd_compose_start_list(body); + +const char *addr_str = (const char *)qd_hash_key_by_handle(addr->hash_handle); + +qd_compose_insert_string(body, addr_str); +qd_compose_insert_bool(body, insert_addr); +qd_compose_end_list(body); + +// Finally, compose and retuen the message so it can be sent out. +qd_message_compose_3(msg, fld, body); + +return msg; +} + +static qdr_addr_endpoint_state_t *qdrc_get_endpoint_state_for_connection(qdr_addr_endpoint_state_list_t endpoint_state_list, qdr_connection_t *conn, qdr_link_t *link) +{ +qdr_addr_endpoint_state_t *endpoint_state = DEQ_HEAD(endpoint_state_list); +while(endpoint_state) { +if (endpoint_state->conn == conn) { +return endpoint_state; +} +endpoint_state = DEQ_NEXT(endpoint_state); +} +return 0; +} + + +static void qdrc_address_endpoint_first_attach(void *bind_context, + qdrc_endpoint_t *endpoint, + void **link_context, + qdr_terminus_t *remote_source, + qdr_terminus_t *remote_target) +{ +qdr_addr_tracking_module_context_t *bc = (qdr_addr_tracking_module_context_t *) bind_context; + +qdr_addr_endpoint_state_t *endpoint_state = new_qdr_addr_endpoint_state_t(); + +ZERO(endpoint_state); +endpoint_state->endpoint = endpoint; +endpoint_state->mc = bc; +endpoint_state->conn = qdrc_endpoint_get_connection_CT(endpoint); + +DEQ_INSERT_TAIL(bc->endpoint_state_list, endpoint_state); + + +// +// The link to hard coded address QD_TERMINUS_EDGE_ADDRESS_TRACKING should be created only if this is a receiver link +// and if this link is created inside the QDR_ROLE_EDGE_CONNECTION connection. +// +if (
[jira] [Commented] (DISPATCH-1160) Add edge address tracking module to interior routers which will inform edges of mobile address receiver changes
[ https://issues.apache.org/jira/browse/DISPATCH-1160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16670407#comment-16670407 ] ASF GitHub Bot commented on DISPATCH-1160: -- Github user ted-ross commented on a diff in the pull request: https://github.com/apache/qpid-dispatch/pull/410#discussion_r229788582 --- Diff: tests/system_tests_edge_router.py --- @@ -345,5 +620,420 @@ def run(self): Container(self).run() -if __name__ == '__main__': +class MobileAddressOneSenderTwoReceiversTest(MessagingHandler): +def __init__(self, receiver1_host, receiver2_host, sender_host, address): +super(MobileAddressOneSenderTwoReceiversTest, self).__init__() +self.receiver1_host = receiver1_host +self.receiver2_host = receiver2_host +self.sender_host = sender_host +self.address = address + +# One sender connection and two receiver connections +self.receiver1_conn = None +self.receiver2_conn = None +self.sender_conn = None + +self.receiver1 = None +self.receiver2 = None +self.sender = None + +self.count = 300 +self.rel_count = 50 +self.n_rcvd1 = 0 +self.n_rcvd2 = 0 +self.n_sent = 0 +self.n_settled = 0 +self.n_released = 0 +self.error = None +self.timer = None +self.all_msgs_received = False +self.recvd_msg_bodies = dict() +self.dup_msg = None + +def timeout(self): +if self.dup_msg: +self.error = "Duplicate message %s received " % self.dup_msg +else: +self.error = "Timeout Expired - n_sent=%d n_rcvd=%d n_settled=%d n_released=%d addr=%s" % \ + (self.n_sent, (self.n_rcvd1 + self.n_rcvd2), self.n_settled, self.n_released, self.address) + +self.receiver1_conn.close() +self.receiver2_conn.close() +self.sender_conn.close() + +def on_start(self, event): +self.timer = event.reactor.schedule(5.0, Timeout(self)) + +# Create two receivers +self.receiver1_conn = event.container.connect(self.receiver1_host) +self.receiver2_conn = event.container.connect(self.receiver2_host) +self.receiver1 = event.container.create_receiver(self.receiver1_conn, + self.address) +self.receiver2 = event.container.create_receiver(self.receiver2_conn, + self.address) + +# Create one sender +self.sender_conn = event.container.connect(self.sender_host) +self.sender = event.container.create_sender(self.sender_conn, +self.address) + +def on_sendable(self, event): +while self.n_sent < self.count: +self.sender.send(Message(body="Message %d" % self.n_sent)) +self.n_sent += 1 + +def on_message(self, event): +if self.recvd_msg_bodies.get(event.message.body): +self.dup_msg = event.message.body +self.timeout() +else: +self.recvd_msg_bodies[event.message.body] = event.message.body + +if event.receiver == self.receiver1: +self.n_rcvd1 += 1 +if event.receiver == self.receiver2: +self.n_rcvd2 += 1 + +if self.n_sent == self.n_rcvd1 + self.n_rcvd2: +self.all_msgs_received = True + +def on_settled(self, event): +self.n_settled += 1 +if self.n_settled == self.count: +self.receiver1.close() +self.receiver2.close() +for i in range(self.rel_count): +self.sender.send(Message(body="Message %d" % self.n_sent)) +self.n_sent += 1 + +def on_released(self, event): +self.n_released += 1 +if self.n_released == self.rel_count and self.all_msgs_received: +self.receiver1_conn.close() +self.receiver2_conn.close() +self.sender_conn.close() +self.timer.cancel() + +def run(self): +Container(self).run() + + +class MobileAddressMulticastTest(MessagingHandler): +def __init__(self, receiver1_host, receiver2_host, receiver3_host, + sender_host, address, large_msg=False, check_addr=False): +super(MobileAddressMulticastTest, self).__init__() +self.receiver1_host = receiver1_host +sel
[jira] [Commented] (DISPATCH-1160) Add edge address tracking module to interior routers which will inform edges of mobile address receiver changes
[ https://issues.apache.org/jira/browse/DISPATCH-1160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16670405#comment-16670405 ] ASF GitHub Bot commented on DISPATCH-1160: -- Github user ted-ross commented on a diff in the pull request: https://github.com/apache/qpid-dispatch/pull/410#discussion_r229782221 --- Diff: src/router_core/modules/edge_addr_tracking/edge_addr_tracking.h --- @@ -0,0 +1,29 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. +*/ --- End diff -- This header file is not needed. As a module, this component offers no API. > Add edge address tracking module to interior routers which will inform edges > of mobile address receiver changes > --- > > Key: DISPATCH-1160 > URL: https://issues.apache.org/jira/browse/DISPATCH-1160 > Project: Qpid Dispatch > Issue Type: Improvement >Affects Versions: 1.4.1 >Reporter: Ganesh Murthy >Assignee: Ganesh Murthy >Priority: Major > Fix For: 1.5.0 > > -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (DISPATCH-1160) Add edge address tracking module to interior routers which will inform edges of mobile address receiver changes
[ https://issues.apache.org/jira/browse/DISPATCH-1160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16669303#comment-16669303 ] ASF GitHub Bot commented on DISPATCH-1160: -- GitHub user ganeshmurthy opened a pull request: https://github.com/apache/qpid-dispatch/pull/410 DISPATCH-1160 - Added edge address tracking module to interior router You can merge this pull request into a Git repository by running: $ git pull https://github.com/ganeshmurthy/qpid-dispatch EDGE-ADDR-TRACKING Alternatively you can review and apply these changes as the patch at: https://github.com/apache/qpid-dispatch/pull/410.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #410 commit cf5f9b7f958fa88ca747b4ec29a1cf2b0932aa33 Author: Ganesh Murthy Date: 2018-10-18T15:46:42Z DISPATCH-1160 - Added edge address tracking module to interior router > Add edge address tracking module to interior routers which will inform edges > of mobile address receiver changes > --- > > Key: DISPATCH-1160 > URL: https://issues.apache.org/jira/browse/DISPATCH-1160 > Project: Qpid Dispatch > Issue Type: Improvement >Affects Versions: 1.4.1 >Reporter: Ganesh Murthy >Assignee: Ganesh Murthy >Priority: Major > Fix For: 1.5.0 > > -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (DISPATCH-1160) Add edge address tracking module to interior routers which will inform edges of mobile address receiver changes
[ https://issues.apache.org/jira/browse/DISPATCH-1160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16669139#comment-16669139 ] Ganesh Murthy commented on DISPATCH-1160: - Create a interior router module called edge address tracking. This module will allow a receiver link (Edge Address Tracking Link - EATL) from interior to edge to be created on hard coded address _$qd.edge_addr_tracking When receivers are added/removed to a mobile address, this module will inform the edge router if necessary via the EATL allowing the edge router to act accordingly. This module will act only on mobile addresses. > Add edge address tracking module to interior routers which will inform edges > of mobile address receiver changes > --- > > Key: DISPATCH-1160 > URL: https://issues.apache.org/jira/browse/DISPATCH-1160 > Project: Qpid Dispatch > Issue Type: Improvement >Affects Versions: 1.4.1 >Reporter: Ganesh Murthy >Assignee: Ganesh Murthy >Priority: Major > Fix For: 1.5.0 > > -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org