Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id B9676200BDA for ; Tue, 13 Dec 2016 18:52:09 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id B7DC5160B31; Tue, 13 Dec 2016 17:52:09 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 6748B160B23 for ; Tue, 13 Dec 2016 18:52:07 +0100 (CET) Received: (qmail 14925 invoked by uid 500); 13 Dec 2016 17:51:59 -0000 Mailing-List: contact commits-help@qpid.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@qpid.apache.org Delivered-To: mailing list commits@qpid.apache.org Received: (qmail 12937 invoked by uid 99); 13 Dec 2016 17:51:57 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 13 Dec 2016 17:51:57 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id CDCD3E95B8; Tue, 13 Dec 2016 17:51:57 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: robbie@apache.org To: commits@qpid.apache.org Date: Tue, 13 Dec 2016 17:52:44 -0000 Message-Id: In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [49/51] [partial] qpid-site git commit: PROTON-1374: update the website for Proton 0.16.0 archived-at: Tue, 13 Dec 2016 17:52:09 -0000 http://git-wip-us.apache.org/repos/asf/qpid-site/blob/7833dc2a/content/releases/qpid-proton-0.16.0/messenger/c/examples/recv.c.html ---------------------------------------------------------------------- diff --git a/content/releases/qpid-proton-0.16.0/messenger/c/examples/recv.c.html b/content/releases/qpid-proton-0.16.0/messenger/c/examples/recv.c.html new file mode 100644 index 0000000..579b360 --- /dev/null +++ b/content/releases/qpid-proton-0.16.0/messenger/c/examples/recv.c.html @@ -0,0 +1,283 @@ + + + + + recv.c - Apache Qpid™ + + + + + + + + + + + + + +
+ + + + + + +
+ + +
+ +

recv.c

+
#include "proton/message.h"
+#include "proton/messenger.h"
+
+#include "pncompat/misc_funcs.inc"
+#include <stdio.h>
+#include <stdlib.h>
+#include <ctype.h>
+
+#define check(messenger)                                                     \
+  {                                                                          \
+    if(pn_messenger_errno(messenger))                                        \
+    {                                                                        \
+      die(__FILE__, __LINE__, pn_error_text(pn_messenger_error(messenger))); \
+    }                                                                        \
+  }                                                                          \
+
+void die(const char *file, int line, const char *message)
+{
+  fprintf(stderr, "%s:%i: %s\n", file, line, message);
+  exit(1);
+}
+
+void usage(void)
+{
+  printf("Usage: recv [options] <addr>\n");
+  printf("-c    \tPath to the certificate file.\n");
+  printf("-k    \tPath to the private key file.\n");
+  printf("-p    \tPassword for the private key.\n");
+  printf("<addr>\tAn address.\n");
+  exit(0);
+}
+
+int main(int argc, char** argv)
+{
+  char* certificate = NULL;
+  char* privatekey = NULL;
+  char* password = NULL;
+  char* address = (char *) "amqp://~0.0.0.0";
+  int c;
+
+  pn_message_t * message;
+  pn_messenger_t * messenger;
+
+  message = pn_message();
+  messenger = pn_messenger(NULL);
+
+  opterr = 0;
+
+  while((c = getopt(argc, argv, "hc:k:p:")) != -1)
+  {
+    switch(c)
+    {
+    case 'h':
+      usage();
+      break;
+
+    case 'c': certificate = optarg; break;
+    case 'k': privatekey = optarg; break;
+    case 'p': password = optarg; break;
+
+    case '?':
+      if(optopt == 'c' ||
+         optopt == 'k' ||
+         optopt == 'p')
+      {
+        fprintf(stderr, "Option -%c requires an argument.\n", optopt);
+      }
+      else if(isprint(optopt))
+      {
+        fprintf(stderr, "Unknown option `-%c'.\n", optopt);
+      }
+      else
+      {
+        fprintf(stderr, "Unknown option character `\\x%x'.\n", optopt);
+      }
+      return 1;
+    default:
+      abort();
+    }
+  }
+
+  if (optind < argc)
+  {
+    address = argv[optind];
+  }
+
+  
+  if(certificate)
+  {
+    pn_messenger_set_certificate(messenger, certificate);
+  }
+
+  if(privatekey)
+  {
+    pn_messenger_set_private_key(messenger, privatekey);
+  }
+
+  if(password)
+  {
+    pn_messenger_set_password(messenger, password);
+  }
+
+  pn_messenger_start(messenger);
+  check(messenger);
+
+  pn_messenger_subscribe(messenger, address);
+  check(messenger);
+
+  for(;;)
+  {
+    pn_messenger_recv(messenger, 1024);
+    check(messenger);
+
+    while(pn_messenger_incoming(messenger))
+    {
+      pn_messenger_get(messenger, message);
+      check(messenger);
+
+      {
+      char buffer[1024];
+      size_t buffsize = sizeof(buffer);
+      const char* subject = pn_message_get_subject(message);
+      pn_data_t *body = pn_message_body(message);
+      pn_data_format(body, buffer, &buffsize);
+
+      printf("Address: %s\n", pn_message_get_address(message));
+      printf("Subject: %s\n", subject ? subject : "(no subject)");
+      printf("Content: %s\n", buffer);
+      }
+    }
+  }
+
+  return 0;
+}
+
+ +

Download this file

+ + +
+ + + + +
+
+
+ + http://git-wip-us.apache.org/repos/asf/qpid-site/blob/7833dc2a/content/releases/qpid-proton-0.16.0/messenger/c/examples/send-async.c ---------------------------------------------------------------------- diff --git a/content/releases/qpid-proton-0.16.0/messenger/c/examples/send-async.c b/content/releases/qpid-proton-0.16.0/messenger/c/examples/send-async.c new file mode 100755 index 0000000..de9b023 --- /dev/null +++ b/content/releases/qpid-proton-0.16.0/messenger/c/examples/send-async.c @@ -0,0 +1,170 @@ +/* + * 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. + * + */ + +// This is a re-implementation of send.c using non-blocking/asynchronous calls. + +#include "proton/message.h" +#include "proton/messenger.h" + +#include "pncompat/misc_funcs.inc" +#include +#include +#include +#include + +#if EMSCRIPTEN +#include +#endif + +pn_message_t * message; +pn_messenger_t * messenger; +pn_tracker_t tracker; +int running = 1; + +#define check(messenger) \ + { \ + if(pn_messenger_errno(messenger)) \ + { \ + die(__FILE__, __LINE__, pn_error_text(pn_messenger_error(messenger))); \ + } \ + } \ + +void die(const char *file, int line, const char *message) +{ + fprintf(stderr, "%s:%i: %s\n", file, line, message); + exit(1); +} + +void usage(void) +{ + printf("Usage: send [-a addr] [message]\n"); + printf("-a \tThe target address [amqp[s]://domain[/name]]\n"); + printf("message\tA text string to send.\n"); + exit(0); +} + +void process(void) { + pn_status_t status = pn_messenger_status(messenger, tracker); + if (status != PN_STATUS_PENDING) { + if (running) { + pn_messenger_stop(messenger); + running = 0; + } + } + + if (pn_messenger_stopped(messenger)) { + pn_message_free(message); + pn_messenger_free(messenger); + message = NULL; + messenger = NULL; + } +} + +#if EMSCRIPTEN // For emscripten C/C++ to JavaScript compiler. +void pump(int fd, void* userData) { + while (pn_messenger_work(messenger, 0) >= 0) { + process(); + } +} + +void onclose(int fd, void* userData) { + process(); +} + +void onerror(int fd, int errno, const char* msg, void* userData) { + printf("error callback fd = %d, errno = %d, msg = %s\n", fd, errno, msg); +} +#endif + +int main(int argc, char** argv) +{ + int c; + char * address = (char *) "amqp://0.0.0.0"; + char * msgtext = (char *) "Hello World!"; + pn_data_t* body; + + opterr = 0; + + while((c = getopt(argc, argv, "ha:b:c:")) != -1) + { + switch(c) + { + case 'a': address = optarg; break; + case 'h': usage(); break; + + case '?': + if(optopt == 'a') + { + fprintf(stderr, "Option -%c requires an argument.\n", optopt); + } + else if(isprint(optopt)) + { + fprintf(stderr, "Unknown option `-%c'.\n", optopt); + } + else + { + fprintf(stderr, "Unknown option character `\\x%x'.\n", optopt); + } + return 1; + default: + abort(); + } + } + + if (optind < argc) msgtext = argv[optind]; + + message = pn_message(); + messenger = pn_messenger(NULL); + pn_messenger_set_blocking(messenger, false); // Needs to be set non-blocking to behave asynchronously. + pn_messenger_set_outgoing_window(messenger, 1024); + + pn_messenger_start(messenger); + + pn_message_set_address(message, address); + body = pn_message_body(message); + pn_data_put_string(body, pn_bytes(strlen(msgtext), msgtext)); + + pn_messenger_put(messenger, message); + check(messenger); + + tracker = pn_messenger_outgoing_tracker(messenger); + +#if EMSCRIPTEN // For emscripten C/C++ to JavaScript compiler. + emscripten_set_socket_error_callback(NULL, onerror); + + emscripten_set_socket_open_callback(NULL, pump); + emscripten_set_socket_connection_callback(NULL, pump); + emscripten_set_socket_message_callback(NULL, pump); + emscripten_set_socket_close_callback(NULL, onclose); +#else // For native compiler. + while (running) { + pn_messenger_work(messenger, -1); // Block indefinitely until there has been socket activity. + process(); + } + + while (messenger && !pn_messenger_stopped(messenger)) { + pn_messenger_work(messenger, 0); + process(); + } +#endif + + return 0; +} + http://git-wip-us.apache.org/repos/asf/qpid-site/blob/7833dc2a/content/releases/qpid-proton-0.16.0/messenger/c/examples/send-async.c.html ---------------------------------------------------------------------- diff --git a/content/releases/qpid-proton-0.16.0/messenger/c/examples/send-async.c.html b/content/releases/qpid-proton-0.16.0/messenger/c/examples/send-async.c.html new file mode 100644 index 0000000..9ffbd46 --- /dev/null +++ b/content/releases/qpid-proton-0.16.0/messenger/c/examples/send-async.c.html @@ -0,0 +1,298 @@ + + + + + send-async.c - Apache Qpid™ + + + + + + + + + + + + + +
+ + + + + + +
+ + +
+ +

send-async.c

+
// This is a re-implementation of send.c using non-blocking/asynchronous calls.
+
+#include "proton/message.h"
+#include "proton/messenger.h"
+
+#include "pncompat/misc_funcs.inc"
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+
+#if EMSCRIPTEN
+#include <emscripten.h>
+#endif
+
+pn_message_t * message;
+pn_messenger_t * messenger;
+pn_tracker_t tracker;
+int running = 1;
+
+#define check(messenger)                                                     \
+  {                                                                          \
+    if(pn_messenger_errno(messenger))                                        \
+    {                                                                        \
+      die(__FILE__, __LINE__, pn_error_text(pn_messenger_error(messenger))); \
+    }                                                                        \
+  }                                                                          \
+
+void die(const char *file, int line, const char *message)
+{
+    fprintf(stderr, "%s:%i: %s\n", file, line, message);
+    exit(1);
+}
+
+void usage(void)
+{
+    printf("Usage: send [-a addr] [message]\n");
+    printf("-a     \tThe target address [amqp[s]://domain[/name]]\n");
+    printf("message\tA text string to send.\n");
+    exit(0);
+}
+
+void process(void) {
+    pn_status_t status = pn_messenger_status(messenger, tracker);
+    if (status != PN_STATUS_PENDING) {
+        if (running) {
+            pn_messenger_stop(messenger);
+            running = 0;
+        } 
+    }
+
+    if (pn_messenger_stopped(messenger)) {
+        pn_message_free(message);
+        pn_messenger_free(messenger);
+        message = NULL;
+        messenger = NULL;
+    }
+}
+
+#if EMSCRIPTEN // For emscripten C/C++ to JavaScript compiler.
+void pump(int fd, void* userData) {
+    while (pn_messenger_work(messenger, 0) >= 0) {
+        process();
+    }
+}
+
+void onclose(int fd, void* userData) {
+    process();
+}
+
+void onerror(int fd, int errno, const char* msg, void* userData) {
+    printf("error callback fd = %d, errno = %d, msg = %s\n", fd, errno, msg);
+}
+#endif
+
+int main(int argc, char** argv)
+{
+    int c;
+    char * address = (char *) "amqp://0.0.0.0";
+    char * msgtext = (char *) "Hello World!";
+    pn_data_t* body;
+
+    opterr = 0;
+
+    while((c = getopt(argc, argv, "ha:b:c:")) != -1)
+    {
+        switch(c)
+        {
+            case 'a': address = optarg; break;
+            case 'h': usage(); break;
+
+            case '?':
+                if(optopt == 'a')
+                {
+                    fprintf(stderr, "Option -%c requires an argument.\n", optopt);
+                }
+                else if(isprint(optopt))
+                {
+                    fprintf(stderr, "Unknown option `-%c'.\n", optopt);
+                }
+                else
+                {
+                    fprintf(stderr, "Unknown option character `\\x%x'.\n", optopt);
+                }
+                return 1;
+            default:
+                abort();
+        }
+    }
+
+    if (optind < argc) msgtext = argv[optind];
+
+    message = pn_message();
+    messenger = pn_messenger(NULL);
+    pn_messenger_set_blocking(messenger, false); // Needs to be set non-blocking to behave asynchronously.
+    pn_messenger_set_outgoing_window(messenger, 1024); 
+
+    pn_messenger_start(messenger);
+
+    pn_message_set_address(message, address);
+    body = pn_message_body(message);
+    pn_data_put_string(body, pn_bytes(strlen(msgtext), msgtext));
+
+    pn_messenger_put(messenger, message);
+    check(messenger);
+
+    tracker = pn_messenger_outgoing_tracker(messenger);
+
+#if EMSCRIPTEN // For emscripten C/C++ to JavaScript compiler.
+    emscripten_set_socket_error_callback(NULL, onerror);
+
+    emscripten_set_socket_open_callback(NULL, pump);
+    emscripten_set_socket_connection_callback(NULL, pump);
+    emscripten_set_socket_message_callback(NULL, pump);
+    emscripten_set_socket_close_callback(NULL, onclose);
+#else // For native compiler.
+    while (running) {
+        pn_messenger_work(messenger, -1); // Block indefinitely until there has been socket activity.
+        process();
+    }
+
+    while (messenger && !pn_messenger_stopped(messenger)) {
+        pn_messenger_work(messenger, 0);
+        process();
+    }
+#endif
+
+    return 0;
+}
+
+ +

Download this file

+ + +
+ + + + +
+
+
+ + http://git-wip-us.apache.org/repos/asf/qpid-site/blob/7833dc2a/content/releases/qpid-proton-0.16.0/messenger/c/examples/send.c ---------------------------------------------------------------------- diff --git a/content/releases/qpid-proton-0.16.0/messenger/c/examples/send.c b/content/releases/qpid-proton-0.16.0/messenger/c/examples/send.c new file mode 100755 index 0000000..11b47ff --- /dev/null +++ b/content/releases/qpid-proton-0.16.0/messenger/c/examples/send.c @@ -0,0 +1,111 @@ +/* + * 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 "proton/message.h" +#include "proton/messenger.h" + +#include "pncompat/misc_funcs.inc" +#include +#include +#include +#include + +#define check(messenger) \ + { \ + if(pn_messenger_errno(messenger)) \ + { \ + die(__FILE__, __LINE__, pn_error_text(pn_messenger_error(messenger))); \ + } \ + } \ + +void die(const char *file, int line, const char *message) +{ + fprintf(stderr, "%s:%i: %s\n", file, line, message); + exit(1); +} + +void usage(void) +{ + printf("Usage: send [-a addr] [message]\n"); + printf("-a \tThe target address [amqp[s]://domain[/name]]\n"); + printf("message\tA text string to send.\n"); + exit(0); +} + +int main(int argc, char** argv) +{ + int c; + char * address = (char *) "amqp://0.0.0.0"; + char * msgtext = (char *) "Hello World!"; + opterr = 0; + + while((c = getopt(argc, argv, "ha:b:c:")) != -1) + { + switch(c) + { + case 'a': address = optarg; break; + case 'h': usage(); break; + + case '?': + if(optopt == 'a') + { + fprintf(stderr, "Option -%c requires an argument.\n", optopt); + } + else if(isprint(optopt)) + { + fprintf(stderr, "Unknown option `-%c'.\n", optopt); + } + else + { + fprintf(stderr, "Unknown option character `\\x%x'.\n", optopt); + } + return 1; + default: + abort(); + } + } + + if (optind < argc) msgtext = argv[optind]; + + { + pn_message_t * message; + pn_messenger_t * messenger; + pn_data_t * body; + + message = pn_message(); + messenger = pn_messenger(NULL); + + pn_messenger_start(messenger); + + pn_message_set_address(message, address); + body = pn_message_body(message); + pn_data_put_string(body, pn_bytes(strlen(msgtext), msgtext)); + pn_messenger_put(messenger, message); + check(messenger); + pn_messenger_send(messenger, -1); + check(messenger); + + pn_messenger_stop(messenger); + pn_messenger_free(messenger); + pn_message_free(message); + } + + return 0; +} http://git-wip-us.apache.org/repos/asf/qpid-site/blob/7833dc2a/content/releases/qpid-proton-0.16.0/messenger/c/examples/send.c.html ---------------------------------------------------------------------- diff --git a/content/releases/qpid-proton-0.16.0/messenger/c/examples/send.c.html b/content/releases/qpid-proton-0.16.0/messenger/c/examples/send.c.html new file mode 100644 index 0000000..7a457ff --- /dev/null +++ b/content/releases/qpid-proton-0.16.0/messenger/c/examples/send.c.html @@ -0,0 +1,240 @@ + + + + + send.c - Apache Qpid™ + + + + + + + + + + + + + +
+ + + + + + +
+ + +
+ +

send.c

+
#include "proton/message.h"
+#include "proton/messenger.h"
+
+#include "pncompat/misc_funcs.inc"
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+
+#define check(messenger)                                                     \
+  {                                                                          \
+    if(pn_messenger_errno(messenger))                                        \
+    {                                                                        \
+      die(__FILE__, __LINE__, pn_error_text(pn_messenger_error(messenger))); \
+    }                                                                        \
+  }                                                                          \
+
+void die(const char *file, int line, const char *message)
+{
+  fprintf(stderr, "%s:%i: %s\n", file, line, message);
+  exit(1);
+}
+
+void usage(void)
+{
+  printf("Usage: send [-a addr] [message]\n");
+  printf("-a     \tThe target address [amqp[s]://domain[/name]]\n");
+  printf("message\tA text string to send.\n");
+  exit(0);
+}
+
+int main(int argc, char** argv)
+{
+  int c;
+  char * address = (char *) "amqp://0.0.0.0";
+  char * msgtext = (char *) "Hello World!";
+  opterr = 0;
+
+  while((c = getopt(argc, argv, "ha:b:c:")) != -1)
+  {
+    switch(c)
+    {
+    case 'a': address = optarg; break;
+    case 'h': usage(); break;
+
+    case '?':
+      if(optopt == 'a')
+      {
+        fprintf(stderr, "Option -%c requires an argument.\n", optopt);
+      }
+      else if(isprint(optopt))
+      {
+        fprintf(stderr, "Unknown option `-%c'.\n", optopt);
+      }
+      else
+      {
+        fprintf(stderr, "Unknown option character `\\x%x'.\n", optopt);
+      }
+      return 1;
+    default:
+      abort();
+    }
+  }
+
+  if (optind < argc) msgtext = argv[optind];
+
+  {
+  pn_message_t * message;
+  pn_messenger_t * messenger;
+  pn_data_t * body;
+
+  message = pn_message();
+  messenger = pn_messenger(NULL);
+
+  pn_messenger_start(messenger);
+
+  pn_message_set_address(message, address);
+  body = pn_message_body(message);
+  pn_data_put_string(body, pn_bytes(strlen(msgtext), msgtext));
+  pn_messenger_put(messenger, message);
+  check(messenger);
+  pn_messenger_send(messenger, -1);
+  check(messenger);
+
+  pn_messenger_stop(messenger);
+  pn_messenger_free(messenger);
+  pn_message_free(message);
+  }
+
+  return 0;
+}
+
+ +

Download this file

+ + +
+ + + + +
+
+
+ + http://git-wip-us.apache.org/repos/asf/qpid-site/blob/7833dc2a/content/releases/qpid-proton-0.16.0/messenger/perl/examples/client.pl ---------------------------------------------------------------------- diff --git a/content/releases/qpid-proton-0.16.0/messenger/perl/examples/client.pl b/content/releases/qpid-proton-0.16.0/messenger/perl/examples/client.pl new file mode 100755 index 0000000..a6d8378 --- /dev/null +++ b/content/releases/qpid-proton-0.16.0/messenger/perl/examples/client.pl @@ -0,0 +1,105 @@ +#!/usr/bin/env perl +# +# 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. +# + +use strict; +use warnings; +use Getopt::Long; +use Pod::Usage; + +use qpid_proton; + +my $reply_to = "~/replies"; +my $help = 0; +my $man = 0; + +GetOptions( + "reply_to=s", \$reply_to, + man => \$man, + "help|?" => \$help + ) or pod2usage(2); +pod2usage(1) if $help; +pod2usage(-exitval => 0, -verbose => 2) if $man; + +# get the address to use and show help if it's missing +my $address = $ARGV[0]; +pod2usage(1) if !$address; + +my $messenger = new qpid::proton::Messenger(); +$messenger->start; + +my $message = new qpid::proton::Message(); +$message->set_address($address); +$message->set_reply_to($reply_to); +$message->set_subject("Subject"); +$message->set_content("Yo!"); + +print "Sending to: $address\n"; + +$messenger->put($message); +$messenger->send; + +if($reply_to =~ /^~\//) { + print "Waiting on returned message.\n"; + $messenger->receive(1); + + $messenger->get($message); + print $message->get_address . " " . $message->get_subject . "\n"; +} + +$messenger->stop; + +__END__ + +=head1 NAME + +client - Proton example application for Perl. + +=head1 SYNOPSIS + +client.pl [OPTIONS]
+ + Options: + --reply_to - The reply to address to be used. (default: ~/replies) + --help - This help message. + --man - Show the full docementation. + +=over 8 + +=item B<--reply_to> + +Specifies the reply address to be used for responses from the server. + +=item B<--help> + +Prints a brief help message and exits. + +=item B<--man> + +Prints the man page and exits. + +=back + +=head2 ADDRESS + +The form an address takes is: + +[amqp://][/name] + +=cut http://git-wip-us.apache.org/repos/asf/qpid-site/blob/7833dc2a/content/releases/qpid-proton-0.16.0/messenger/perl/examples/client.pl.html ---------------------------------------------------------------------- diff --git a/content/releases/qpid-proton-0.16.0/messenger/perl/examples/client.pl.html b/content/releases/qpid-proton-0.16.0/messenger/perl/examples/client.pl.html new file mode 100644 index 0000000..7a2a0bf --- /dev/null +++ b/content/releases/qpid-proton-0.16.0/messenger/perl/examples/client.pl.html @@ -0,0 +1,234 @@ + + + + + client.pl - Apache Qpid™ + + + + + + + + + + + + + +
+ + + + + + +
+ + +
+ +

client.pl

+
use strict;
+use warnings;
+use Getopt::Long;
+use Pod::Usage;
+
+use qpid_proton;
+
+my $reply_to = "~/replies";
+my $help = 0;
+my $man = 0;
+
+GetOptions(
+    "reply_to=s", \$reply_to,
+    man => \$man,
+    "help|?" => \$help
+    ) or pod2usage(2);
+pod2usage(1) if $help;
+pod2usage(-exitval => 0, -verbose => 2) if $man;
+
+# get the address to use and show help if it's missing
+my $address = $ARGV[0];
+pod2usage(1) if !$address;
+
+my $messenger = new qpid::proton::Messenger();
+$messenger->start;
+
+my $message = new qpid::proton::Message();
+$message->set_address($address);
+$message->set_reply_to($reply_to);
+$message->set_subject("Subject");
+$message->set_content("Yo!");
+
+print "Sending to: $address\n";
+
+$messenger->put($message);
+$messenger->send;
+
+if($reply_to =~ /^~\//) {
+    print "Waiting on returned message.\n";
+    $messenger->receive(1);
+
+    $messenger->get($message);
+    print $message->get_address . " " . $message->get_subject . "\n";
+}
+
+$messenger->stop;
+
+__END__
+
+=head1 NAME
+
+client - Proton example application for Perl.
+
+=head1 SYNOPSIS
+
+client.pl [OPTIONS] <address> <subject>
+
+ Options:
+   --reply_to - The reply to address to be used. (default: ~/replies)
+   --help     - This help message.
+   --man      - Show the full docementation.
+
+=over 8
+
+=item B<--reply_to>
+
+Specifies the reply address to be used for responses from the server.
+
+=item B<--help>
+
+Prints a brief help message and exits.
+
+=item B<--man>
+
+Prints the man page and exits.
+
+=back
+
+=head2 ADDRESS
+
+The form an address takes is:
+
+[amqp://]<domain>[/name]
+
+=cut
+
+ +

Download this file

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