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 2018/10/17 17:33:12 UTC

qpid-dispatch git commit: DISPATCH-1145 - Added address constant for INT-EDGE communication. Added edge-data-link events.

Repository: qpid-dispatch
Updated Branches:
  refs/heads/master 85d6aad89 -> eaa99cca1


DISPATCH-1145 - Added address constant for INT-EDGE communication.  Added edge-data-link events.


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

Branch: refs/heads/master
Commit: eaa99cca198ec2859ced4f1888445664e49c609c
Parents: 85d6aad
Author: Ted Ross <tr...@redhat.com>
Authored: Wed Oct 17 13:30:23 2018 -0400
Committer: Ted Ross <tr...@redhat.com>
Committed: Wed Oct 17 13:30:23 2018 -0400

----------------------------------------------------------------------
 include/qpid/dispatch/amqp.h                     | 5 +++++
 src/amqp.c                                       | 2 ++
 src/router_core/core_events.h                    | 5 +++--
 src/router_core/modules/edge_router/addr_proxy.c | 9 +--------
 4 files changed, 11 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/eaa99cca/include/qpid/dispatch/amqp.h
----------------------------------------------------------------------
diff --git a/include/qpid/dispatch/amqp.h b/include/qpid/dispatch/amqp.h
index 5a65c80..6a92175 100644
--- a/include/qpid/dispatch/amqp.h
+++ b/include/qpid/dispatch/amqp.h
@@ -148,6 +148,11 @@ extern const char * const QD_CONNECTION_PROPERTY_FAILOVER_SCHEME_KEY;
 extern const char * const QD_CONNECTION_PROPERTY_FAILOVER_HOSTNAME_KEY;
 /// @}
 
+/** @name Terminus Addresses */
+/// @{
+extern const char * const QD_TERMINUS_EDGE_ADDRESS_TRACKING;
+/// @}
+
 /** @name AMQP error codes. */
 /// @{
 /** AMQP management error status code and string description (HTTP-style)  */

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/eaa99cca/src/amqp.c
----------------------------------------------------------------------
diff --git a/src/amqp.c b/src/amqp.c
index 08ce122..1492e4b 100644
--- a/src/amqp.c
+++ b/src/amqp.c
@@ -50,6 +50,8 @@ const char * const QD_CONNECTION_PROPERTY_FAILOVER_PORT_KEY     = "port";
 const char * const QD_CONNECTION_PROPERTY_FAILOVER_SCHEME_KEY   = "scheme";
 const char * const QD_CONNECTION_PROPERTY_FAILOVER_HOSTNAME_KEY = "hostname";
 
+const char * const QD_TERMINUS_EDGE_ADDRESS_TRACKING = "_$qd.edge_addr_tracking";
+
 const qd_amqp_error_t QD_AMQP_OK = { 200, "OK" };
 const qd_amqp_error_t QD_AMQP_CREATED = { 201, "Created" };
 const qd_amqp_error_t QD_AMQP_NO_CONTENT = { 204, "No Content" }; // This is the response code if the delete of a manageable entity was successful.

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/eaa99cca/src/router_core/core_events.h
----------------------------------------------------------------------
diff --git a/src/router_core/core_events.h b/src/router_core/core_events.h
index 5dd3e11..12b3ae4 100644
--- a/src/router_core/core_events.h
+++ b/src/router_core/core_events.h
@@ -69,8 +69,9 @@ typedef uint32_t qdrc_event_t;
 #define QDRC_EVENT_LINK_IN_DETACHED          0x00000200
 #define QDRC_EVENT_LINK_OUT_ATTACHED         0x00000400
 #define QDRC_EVENT_LINK_OUT_DETACHED         0x00000800
-#define QDRC_EVENT_LINK_EDGE_OUTLINK         0x00001000
-#define _QDRC_EVENT_LINK_RANGE               0x00001F00
+#define QDRC_EVENT_LINK_EDGE_DATA_ATTACHED   0x00001000
+#define QDRC_EVENT_LINK_EDGE_DATA_DETACHED   0x00002000
+#define _QDRC_EVENT_LINK_RANGE               0x00003F00
 
 #define QDRC_EVENT_ADDR_ADDED                0x00010000
 #define QDRC_EVENT_ADDR_REMOVED              0x00020000

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/eaa99cca/src/router_core/modules/edge_router/addr_proxy.c
----------------------------------------------------------------------
diff --git a/src/router_core/modules/edge_router/addr_proxy.c b/src/router_core/modules/edge_router/addr_proxy.c
index 4cfb7bd..24684ee 100644
--- a/src/router_core/modules/edge_router/addr_proxy.c
+++ b/src/router_core/modules/edge_router/addr_proxy.c
@@ -113,12 +113,6 @@ static void on_conn_event(void *context, qdrc_event_t event, qdr_connection_t *c
             }
             addr = DEQ_NEXT(addr);
         }
-
-        //
-        // Raise an event for the establishment of the edge out-link
-        //
-        qdrc_event_link_raise(ap->core, QDRC_EVENT_LINK_EDGE_OUTLINK, out_link);
-
         break;
     }
 
@@ -158,14 +152,13 @@ static void on_addr_event(void *context, qdrc_event_t event, qdr_address_t *addr
                                   qdr_terminus_normal(key + 2), qdr_terminus_normal(0));
         qdr_core_bind_address_link_CT(ap->core, addr, link);
         addr->edge_inlink = link;
-
         break;
 
     case QDRC_EVENT_ADDR_NO_LONGER_LOCAL_DEST :
         link = addr->edge_inlink;
+        addr->edge_inlink = 0;
         qdr_core_unbind_address_link_CT(ap->core, addr, link);
         qdr_link_outbound_detach_CT(ap->core, link, 0, QDR_CONDITION_NONE, true);
-
         break;
 
     default:


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