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 2017/02/23 22:51:35 UTC

[28/38] qpid-proton git commit: PROTON-1403: C proactor examples default to explicit IPv4

PROTON-1403: C proactor examples default to explicit IPv4

Use explicit IPv4 addresses to make the C examples interop more smoothly by
default with other examples, qpid-dispatch and other brokers. Command line
options still allow IPv6 addresses


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

Branch: refs/heads/go1
Commit: 31a3c99e811d33e9baef362e322605152e4e91aa
Parents: d5c0152
Author: Alan Conway <ac...@redhat.com>
Authored: Fri Feb 17 17:35:22 2017 -0500
Committer: Alan Conway <ac...@redhat.com>
Committed: Mon Feb 20 15:11:00 2017 -0500

----------------------------------------------------------------------
 examples/c/proactor/broker.c  | 12 +++++++-----
 examples/c/proactor/direct.c  | 13 ++++++++-----
 examples/c/proactor/receive.c | 11 ++++++++---
 examples/c/proactor/send.c    | 11 ++++++++---
 4 files changed, 31 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/31a3c99e/examples/c/proactor/broker.c
----------------------------------------------------------------------
diff --git a/examples/c/proactor/broker.c b/examples/c/proactor/broker.c
index 2a338e1..a7d8863 100644
--- a/examples/c/proactor/broker.c
+++ b/examples/c/proactor/broker.c
@@ -462,12 +462,14 @@ int main(int argc, char **argv) {
   broker_init(&b, container_id, nthreads, heartbeat);
 
   /* Parse the URL or use default values */
+  const char *host = "0.0.0.0";
+  const char *port = "amqp";
   pn_url_t *url = urlstr ? pn_url_parse(urlstr) : NULL;
-  /* Listen on IPv6 wildcard. On systems that do not set IPV6ONLY by default,
-     this will also listen for mapped IPv4 on the same port.
-  */
-  const char *host = url ? pn_url_get_host(url) : "::";
-  const char *port = url ? pn_url_get_port(url) : "amqp";
+  if (url) {
+    if (pn_url_get_host(url)) host = pn_url_get_host(url);
+    if (pn_url_get_port(url)) port = (pn_url_get_port(url));
+  }
+
   pn_proactor_listen(b.proactor, pn_listener(), host, port, 16);
   printf("listening on '%s:%s' %zd threads\n", host, port, b.threads);
 

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/31a3c99e/examples/c/proactor/direct.c
----------------------------------------------------------------------
diff --git a/examples/c/proactor/direct.c b/examples/c/proactor/direct.c
index 3d0a7d1..de2d6aa 100644
--- a/examples/c/proactor/direct.c
+++ b/examples/c/proactor/direct.c
@@ -331,12 +331,15 @@ int main(int argc, char **argv) {
   snprintf(app.container_id, sizeof(app.container_id), "%s", argv[0]);
 
   /* Parse the URL or use default values */
+  const char *host = "0.0.0.0";
+  const char *port = "amqp";
+  strncpy(app.address, "example", sizeof(app.address));
   pn_url_t *url = urlstr ? pn_url_parse(urlstr) : NULL;
-  /* Listen on IPv6 wildcard. On systems that do not set IPV6ONLY by default,
-     this will also listen for mapped IPv4 on the same port.
-  */
-  const char *host = url ? pn_url_get_host(url) : "::";
-  const char *port = url ? pn_url_get_port(url) : "amqp";
+  if (url) {
+    if (pn_url_get_host(url)) host = pn_url_get_host(url);
+    if (pn_url_get_port(url)) port = (pn_url_get_port(url));
+    if (pn_url_get_path(url)) strncpy(app.address, pn_url_get_path(url), sizeof(app.address));
+  }
 
   app.proactor = pn_proactor();
   pn_proactor_listen(app.proactor, pn_listener(), host, port, 16);

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/31a3c99e/examples/c/proactor/receive.c
----------------------------------------------------------------------
diff --git a/examples/c/proactor/receive.c b/examples/c/proactor/receive.c
index 1bc5509..65ec069 100644
--- a/examples/c/proactor/receive.c
+++ b/examples/c/proactor/receive.c
@@ -180,10 +180,15 @@ int main(int argc, char **argv) {
   snprintf(app.container_id, sizeof(app.container_id), "%s", argv[0]);
 
   /* Parse the URL or use default values */
+  const char *host = "127.0.0.1";
+  const char *port = "amqp";
+  strncpy(app.address, "example", sizeof(app.address));
   pn_url_t *url = urlstr ? pn_url_parse(urlstr) : NULL;
-  const char *host = url ? pn_url_get_host(url) : NULL;
-  const char *port = url ? pn_url_get_port(url) : "amqp";
-  strncpy(app.address, (url && pn_url_get_path(url)) ? pn_url_get_path(url) : "example", sizeof(app.address));
+  if (url) {
+    if (pn_url_get_host(url)) host = pn_url_get_host(url);
+    if (pn_url_get_port(url)) port = (pn_url_get_port(url));
+    if (pn_url_get_path(url)) strncpy(app.address, pn_url_get_path(url), sizeof(app.address));
+  }
 
   /* Create the proactor and connect */
   app.proactor = pn_proactor();

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/31a3c99e/examples/c/proactor/send.c
----------------------------------------------------------------------
diff --git a/examples/c/proactor/send.c b/examples/c/proactor/send.c
index bba5d3e..0786f19 100644
--- a/examples/c/proactor/send.c
+++ b/examples/c/proactor/send.c
@@ -209,10 +209,15 @@ int main(int argc, char **argv) {
   snprintf(app.container_id, sizeof(app.container_id), "%s", argv[0]);
 
   /* Parse the URL or use default values */
+  const char *host = "127.0.0.1";
+  const char *port = "amqp";
+  strncpy(app.address, "example", sizeof(app.address));
   pn_url_t *url = urlstr ? pn_url_parse(urlstr) : NULL;
-  const char *host = url ? pn_url_get_host(url) : NULL;
-  const char *port = url ? pn_url_get_port(url) : "amqp";
-  strncpy(app.address, (url && pn_url_get_path(url)) ? pn_url_get_path(url) : "example", sizeof(app.address));
+  if (url) {
+    if (pn_url_get_host(url)) host = pn_url_get_host(url);
+    if (pn_url_get_port(url)) port = (pn_url_get_port(url));
+    if (pn_url_get_path(url)) strncpy(app.address, pn_url_get_path(url), sizeof(app.address));
+  }
 
   /* Create the proactor and connect */
   app.proactor = pn_proactor();


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