summaryrefslogtreecommitdiff
path: root/cpp/bindings
diff options
context:
space:
mode:
authorDarryl L. Pierce <mcpierce@apache.org>2012-11-27 18:08:05 +0000
committerDarryl L. Pierce <mcpierce@apache.org>2012-11-27 18:08:05 +0000
commit90487b320d82dd94bdeffc4ecb4fecd0114aba04 (patch)
treea87d17a03cd3e08a672fe04d39b38f789a5aed0b /cpp/bindings
parent89d1884550efb091d2b47ba93764d218feaae68b (diff)
downloadqpid-python-90487b320d82dd94bdeffc4ecb4fecd0114aba04.tar.gz
QPID-4214 : Updated all Perl examples to work with the new Perl APIs.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1414296 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/bindings')
-rw-r--r--cpp/bindings/qpid/examples/perl/README26
-rwxr-xr-x[-rw-r--r--]cpp/bindings/qpid/examples/perl/client.pl24
-rwxr-xr-x[-rw-r--r--]cpp/bindings/qpid/examples/perl/drain.pl46
-rwxr-xr-x[-rw-r--r--]cpp/bindings/qpid/examples/perl/hello_world.pl24
-rwxr-xr-x[-rw-r--r--]cpp/bindings/qpid/examples/perl/hello_xml.pl26
-rwxr-xr-x[-rw-r--r--]cpp/bindings/qpid/examples/perl/map_receiver.pl15
-rwxr-xr-x[-rw-r--r--]cpp/bindings/qpid/examples/perl/map_sender.pl22
-rwxr-xr-x[-rw-r--r--]cpp/bindings/qpid/examples/perl/server.pl25
-rwxr-xr-x[-rw-r--r--]cpp/bindings/qpid/examples/perl/spout.pl16
9 files changed, 100 insertions, 124 deletions
diff --git a/cpp/bindings/qpid/examples/perl/README b/cpp/bindings/qpid/examples/perl/README
deleted file mode 100644
index 1e113f1fa0..0000000000
--- a/cpp/bindings/qpid/examples/perl/README
+++ /dev/null
@@ -1,26 +0,0 @@
-# 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.
-
-
-The examples in this directory are written against the raw Perl
-binding ("cqpid"). This binding is identical to the C++ messaging (in
-namespace qpid::messaging).
-
-It is desired that a layer will be written over this interface (called
-"qpid") that provides a more Perl-specific API. When this occurs,
-these examples will be changed to use the new Perl API.
-
diff --git a/cpp/bindings/qpid/examples/perl/client.pl b/cpp/bindings/qpid/examples/perl/client.pl
index 19d9d3f14f..5f9d1ff130 100644..100755
--- a/cpp/bindings/qpid/examples/perl/client.pl
+++ b/cpp/bindings/qpid/examples/perl/client.pl
@@ -1,4 +1,4 @@
-#!/usr/bin/perl
+#!/usr/bin/env perl
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
@@ -20,23 +20,23 @@
use strict;
use warnings;
-use cqpid_perl;
+use qpid;
my $url = ( @ARGV == 1 ) ? $ARGV[0] : "amqp:tcp:127.0.0.1:5672";
-my $connectionOptions = ( @ARGV > 1 ) ? $ARGV[1] : "";
+my $connectionOptions = ( @ARGV > 1 ) ? $ARGV[1] : "";
-my $connection = new cqpid_perl::Connection($url, $connectionOptions);
+my $connection = new qpid::messaging::Connection($url, $connectionOptions);
eval {
$connection->open();
-my $session = $connection->createSession();
+my $session = $connection->create_session();
-my $sender = $session->createSender("service_queue");
+my $sender = $session->create_sender("service_queue");
#create temp queue & receiver...
-my $responseQueue = new cqpid_perl::Address("#response-queue; {create:always, delete:always}");
-my $receiver = $session->createReceiver($responseQueue);
+my $responseQueue = new qpid::messaging::Address("#response-queue; {create:always, delete:always}");
+my $receiver = $session->create_receiver($responseQueue);
#Now send some messages...
@@ -47,13 +47,13 @@ my @s = (
"And the mome raths outgrabe."
);
-my $request = new cqpid_perl::Message();
-$request->setReplyTo($responseQueue);
+my $request = new qpid::messaging::Message();
+$request->set_reply_to($responseQueue);
for (my $i=0; $i<4; $i++) {
- $request->setContent($s[$i]);
+ $request->set_content($s[$i]);
$sender->send($request);
my $response = $receiver->fetch();
- print $request->getContent() . " -> " . $response->getContent() . "\n";
+ print $request->get_content() . " -> " . $response->get_content() . "\n";
}
$connection->close();
diff --git a/cpp/bindings/qpid/examples/perl/drain.pl b/cpp/bindings/qpid/examples/perl/drain.pl
index 78dd8b95c3..2da28f2867 100644..100755
--- a/cpp/bindings/qpid/examples/perl/drain.pl
+++ b/cpp/bindings/qpid/examples/perl/drain.pl
@@ -1,4 +1,4 @@
-#!/usr/bin/perl
+#!/usr/bin/env perl
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
@@ -20,7 +20,7 @@
use strict;
use warnings;
-use cqpid_perl;
+use qpid;
use Getopt::Long;
use Pod::Usage;
@@ -48,7 +48,7 @@ if ($#ARGV ge 0) {
}
sub getTimeout {
- return ($forever) ? $cqpid_perl::Duration::FOREVER : new cqpid_perl::Duration($timeout*1000);
+ return ($forever) ? qpid::messaging::Duration::FOREVER : new qpid::messaging::Duration($timeout*1000);
}
sub printProperties {
@@ -56,34 +56,41 @@ sub printProperties {
return qq[{${\(join', ',map"'$_': '$h->{$_}'",keys%$h)}}]
}
-my $connection = new cqpid_perl::Connection($url, $connectionOptions);
+my $connection = new qpid::messaging::Connection($url, $connectionOptions);
eval {
$connection->open();
- my $session = $connection->createSession();
- my $receiver = $session->createReceiver($address);
+ my $session = $connection->create_session();
+ my $receiver = $session->create_receiver($address);
my $timeout = getTimeout();
-
- my $message = new cqpid_perl::Message();
+ my $message = new qpid::messaging::Message();
my $i = 0;
- while($receiver->fetch($message, $timeout)) {
- my $redelivered = ($message->getRedelivered) ? "redelivered=True, " : "";
- print "Message(" . $redelivered . "properties=" . printProperties($message->getProperties()) . ", content='";
- if ($message->getContentType() eq "amqp/map") {
- my $content = cqpid_perl::decodeMap($message);
+ for (;;) {
+ eval {
+ $message = $receiver->fetch($timeout);
+ };
+
+ if ($@) {
+ last;
+ }
+
+ my $redelivered = ($message->get_redelivered) ? "redelivered=True, " : "";
+ print "Message(" . $redelivered . "properties=" . printProperties($message->get_properties()) . ", content='";
+ if ($message->get_content_type() eq "amqp/map") {
+ my $content = qpid::messasging::decode_map($message);
map{ print "\n$_ => $content->{$_}"; } keys %{$content};
}
else {
- print $message->getContent();
+ print $message->get_content();
}
print "')\n";
- my $replyto = $message->getReplyTo();
- if ($replyto->getName()) {
- print "Replying to " . $message->getReplyTo()->str() . "...\n";
- my $sender = $session->createSender($replyto);
- my $response = new cqpid_perl::Message("received by the server.");
+ my $replyto = $message->get_reply_to();
+ if ($replyto->get_name()) {
+ print "Replying to " . $message->get_reply_to()->str() . "...\n";
+ my $sender = $session->create_sender($replyto);
+ my $response = new qpid::messaging::Message("received by the server.");
$sender->send($response);
}
$session->acknowledge();
@@ -92,6 +99,7 @@ eval {
last;
}
}
+
$receiver->close();
$session->close();
$connection->close();
diff --git a/cpp/bindings/qpid/examples/perl/hello_world.pl b/cpp/bindings/qpid/examples/perl/hello_world.pl
index a96b98a002..faf9cd3638 100644..100755
--- a/cpp/bindings/qpid/examples/perl/hello_world.pl
+++ b/cpp/bindings/qpid/examples/perl/hello_world.pl
@@ -1,4 +1,4 @@
-#!/usr/bin/perl
+#!/usr/bin/env perl
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
@@ -21,33 +21,27 @@ use strict;
use warnings;
use Data::Dumper;
-use cqpid_perl;
+use qpid;
my $broker = ( @ARGV > 0 ) ? $ARGV[0] : "localhost:5672";
my $address = ( @ARGV > 1 ) ? $ARGV[0] : "amq.topic";
my $connectionOptions = ( @ARGV > 2 ) ? $ARGV[1] : "";
-my $connection = new cqpid_perl::Connection($broker, $connectionOptions);
+my $connection = new qpid::messaging::Connection($broker, $connectionOptions);
eval {
$connection->open();
- my $session = $connection->createSession();
- my $receiver = $session->createReceiver($address);
- my $sender = $session->createSender($address);
+ my $session = $connection->create_session();
- $sender->send(new cqpid_perl::Message("Hello world!"));
+ my $receiver = $session->create_receiver($address);
+ my $sender = $session->create_sender($address);
- #my $duration = new cqpid_perl::Duration(1000);
- #print ">>>" . $duration->getMilliseconds() . "\n";
+ $sender->send(new qpid::messaging::Message("Hello world!"));
- my $message = $receiver->fetch($cqpid_perl::Duration::SECOND);
+ my $message = $receiver->fetch(qpid::messaging::Duration::SECOND);
- #$message->setDurable(1);
- #print "Durable: " . $message->getDurable() . "\n";
- #print Dumper($message->getProperties());
-
- print $message->getContent() . "\n";
+ print $message->get_content() . "\n";
$session->acknowledge();
$connection->close();
diff --git a/cpp/bindings/qpid/examples/perl/hello_xml.pl b/cpp/bindings/qpid/examples/perl/hello_xml.pl
index cebf2ceee6..51ccb8bd23 100644..100755
--- a/cpp/bindings/qpid/examples/perl/hello_xml.pl
+++ b/cpp/bindings/qpid/examples/perl/hello_xml.pl
@@ -1,4 +1,4 @@
-#!/usr/bin/perl
+#!/usr/bin/env perl
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
@@ -20,7 +20,7 @@
use strict;
use warnings;
-use cqpid_perl;
+use qpid;
my $broker = ( @ARGV > 0 ) ? $ARGV[0] : "localhost:5672";
my $connectionOptions = ( @ARGV > 1 ) ? $ARGV[1] : "";
@@ -36,7 +36,7 @@ END
my $address = <<END;
xml-exchange; {
-create: always,
+create: always,
node: { type: topic, x-declare: { type: xml } },
link: {
x-bindings: [{ exchange: xml-exchange, key: weather, arguments: { xquery:" $query" } }]
@@ -44,15 +44,15 @@ x-bindings: [{ exchange: xml-exchange, key: weather, arguments: { xquery:" $quer
END
-my $connection = new cqpid_perl::Connection($broker, $connectionOptions);
+my $connection = new qpid::messaging::Connection($broker, $connectionOptions);
eval {
$connection->open();
- my $session = $connection->createSession();
+ my $session = $connection->create_session();
- my $receiver = $session->createReceiver($address);
-
- my $message = new cqpid_perl::Message();
+ my $receiver = $session->create_receiver($address);
+
+ my $message = new qpid::messaging::Message();
my $content = <<END;
<weather>
@@ -62,13 +62,13 @@ eval {
<dewpoint>35</dewpoint>
</weather>
END
-
- $message->setContent($content);
- my $sender = $session->createSender('xml-exchange/weather');
+
+ $message->set_content($content);
+ my $sender = $session->create_sender('xml-exchange/weather');
$sender->send($message);
-
+
my $response = $receiver->fetch();
- print $response->getContent() . "\n";
+ print $response->get_content() . "\n";
$connection->close();
};
diff --git a/cpp/bindings/qpid/examples/perl/map_receiver.pl b/cpp/bindings/qpid/examples/perl/map_receiver.pl
index 2e2611e38f..048209fe75 100644..100755
--- a/cpp/bindings/qpid/examples/perl/map_receiver.pl
+++ b/cpp/bindings/qpid/examples/perl/map_receiver.pl
@@ -1,4 +1,4 @@
-#! /usr/bin/perl5
+#! /usr/bin/env perl
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
@@ -21,22 +21,21 @@ use strict;
use warnings;
use Data::Dumper;
-use cqpid_perl;
+use qpid;
my $url = ( @ARGV > 0 ) ? $ARGV[0] : "amqp:tcp:127.0.0.1:5672";
my $address = ( @ARGV > 1 ) ? $ARGV[0] : "message_queue; {create: always}";
my $connectionOptions = ( @ARGV > 2 ) ? $ARGV[1] : "";
-my $connection = new cqpid_perl::Connection($url, $connectionOptions);
+my $connection = new qpid::messaging::Connection($url, $connectionOptions);
eval {
$connection->open();
- my $session = $connection->createSession();
- my $receiver = $session->createReceiver($address);
+ my $session = $connection->create_session();
+ my $receiver = $session->create_receiver($address);
+
+ my $content = qpid::messaging::decode_map($receiver->fetch());
- my $content = cqpid_perl::decodeMap($receiver->fetch());
- #my $content = cqpid_perl::decodeList($receiver->fetch());
-
print Dumper($content);
$session->acknowledge();
diff --git a/cpp/bindings/qpid/examples/perl/map_sender.pl b/cpp/bindings/qpid/examples/perl/map_sender.pl
index 4107cd48b9..4aae7b6b0e 100644..100755
--- a/cpp/bindings/qpid/examples/perl/map_sender.pl
+++ b/cpp/bindings/qpid/examples/perl/map_sender.pl
@@ -1,4 +1,4 @@
-#! /usr/bin/perl5
+#! /usr/bin/env perl
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
@@ -21,27 +21,27 @@ use strict;
use warnings;
use Data::Dumper;
-use cqpid_perl;
+use qpid;
my $url = ( @ARGV > 0 ) ? $ARGV[0] : "amqp:tcp:127.0.0.1:5672";
my $address = ( @ARGV > 1 ) ? $ARGV[1] : "message_queue; {create: always}";
my $connectionOptions = ( @ARGV > 2 ) ? $ARGV[2] : "";
-my $connection = new cqpid_perl::Connection($url, $connectionOptions);
+my $connection = new qpid::messaging::Connection($url, $connectionOptions);
eval {
$connection->open();
- my $session = $connection->createSession();
- my $sender = $session->createSender($address);
+ my $session = $connection->create_session();
+ my $sender = $session->create_sender($address);
- my $message = new cqpid_perl::Message();
- my $content = { id => 987654321,
- name => "Widget",
- percent => sprintf("%.2f", 0.99),
- colours => [ qw (red green white) ],
+ my $message = new qpid::messaging::Message();
+ my $content = { id => 987654321,
+ name => "Widget",
+ percent => sprintf("%.2f", 0.99),
+ colours => [ qw (red green white) ],
};
- cqpid_perl::encode($content, $message);
+ qpid::messaging::encode($content, $message);
$sender->send($message, 1);
$connection->close();
diff --git a/cpp/bindings/qpid/examples/perl/server.pl b/cpp/bindings/qpid/examples/perl/server.pl
index b14da565b9..7dbe7bc51c 100644..100755
--- a/cpp/bindings/qpid/examples/perl/server.pl
+++ b/cpp/bindings/qpid/examples/perl/server.pl
@@ -1,4 +1,4 @@
-#!/usr/bin/perl
+#!/usr/bin/env perl
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
@@ -20,34 +20,35 @@
use strict;
use warnings;
-use cqpid_perl;
+use qpid;
my $url = ( @ARGV == 1 ) ? $ARGV[0] : "amqp:tcp:127.0.0.1:5672";
-my $connectionOptions = ( @ARGV > 1 ) ? $ARGV[1] : "";
+my $connectionOptions = ( @ARGV > 1 ) ? $ARGV[1] : "";
-my $connection = new cqpid_perl::Connection($url, $connectionOptions);
+my $connection = new qpid::messaging::Connection($url, $connectionOptions);
eval {
$connection->open();
- my $session = $connection->createSession();
+ my $session = $connection->create_session();
- my $receiver = $session->createReceiver("service_queue; {create: always}");
+ my $receiver = $session->create_receiver("service_queue; {create: always}");
while (1) {
my $request = $receiver->fetch();
- my $address = $request->getReplyTo();
+ my $address = $request->get_reply_to();
+
if ($address) {
- my $sender = $session->createSender($address);
- my $s = $request->getContent();
+ my $sender = $session->create_sender($address);
+ my $s = $request->get_content();
$s = uc($s);
- my $response = new cqpid_perl::Message($s);
+ my $response = new qpid::messaging::Message($s);
$sender->send($response);
- print "Processed request: " . $request->getContent() . " -> " . $response->getContent() . "\n";
+ print "Processed request: " . $request->get_content() . " -> " . $response->get_content() . "\n";
$session->acknowledge();
}
else {
- print "Error: no reply address specified for request: " . $request->getContent() . "\n";
+ print "Error: no reply address specified for request: " . $request->get_content() . "\n";
$session->reject($request);
}
}
diff --git a/cpp/bindings/qpid/examples/perl/spout.pl b/cpp/bindings/qpid/examples/perl/spout.pl
index eaa9572ac4..af87b0a348 100644..100755
--- a/cpp/bindings/qpid/examples/perl/spout.pl
+++ b/cpp/bindings/qpid/examples/perl/spout.pl
@@ -1,4 +1,4 @@
-#!/usr/bin/perl
+#!/usr/bin/env perl
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
@@ -20,7 +20,7 @@
use strict;
use warnings;
-use cqpid_perl;
+use qpid;
use Getopt::Long;
use Pod::Usage;
use Time::Local;
@@ -75,19 +75,19 @@ sub setProperties {
}
}
-my $connection = new cqpid_perl::Connection($url, $connectionOptions);
+my $connection = new qpid::messaging::Connection($url, $connectionOptions);
eval {
$connection->open();
- my $session = $connection->createSession();
- my $sender = $session->createSender($address);
+ my $session = $connection->create_session();
+ my $sender = $session->create_sender($address);
- my $message = new cqpid_perl::Message();
+ my $message = new qpid::messaging::Message();
setProperties($message) if (@properties);
if (@entries) {
my $content = {};
setEntries($content);
- cqpid_perl::encode($content, $message);
+ qpid::messaging::encode($content, $message);
}
elsif ($content) {
$message->setContent($content);
@@ -96,7 +96,7 @@ eval {
my $receiver;
if ($replyto) {
- my $responseQueue = new cqpid_perl::Address($replyto);
+ my $responseQueue = new qpid::messaging::Address($replyto);
$receiver = $session->createReceiver($responseQueue);
$message->setReplyTo($responseQueue);
}