diff options
author | Alan Conway <aconway@apache.org> | 2007-11-09 19:59:54 +0000 |
---|---|---|
committer | Alan Conway <aconway@apache.org> | 2007-11-09 19:59:54 +0000 |
commit | b78af32f2bb9c725bacec590dbdeecaec9b2906c (patch) | |
tree | b779b2ff59cc9a2e8362b4e34e0574f6828d9c75 /cpp/examples/direct | |
parent | 23bc7f447a2b2551dc8ae20280ede45b524e06cd (diff) | |
download | qpid-python-b78af32f2bb9c725bacec590dbdeecaec9b2906c.tar.gz |
Package examples in rpm %doc directory.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@593638 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/examples/direct')
-rw-r--r-- | cpp/examples/direct/Makefile | 20 | ||||
-rw-r--r-- | cpp/examples/direct/direct_config_queues.cpp | 86 | ||||
-rw-r--r-- | cpp/examples/direct/direct_persistent_config_queues.cpp | 101 | ||||
-rw-r--r-- | cpp/examples/direct/direct_persistent_publisher.cpp | 111 | ||||
-rw-r--r-- | cpp/examples/direct/direct_publisher.cpp | 104 | ||||
-rw-r--r-- | cpp/examples/direct/listener.cpp | 134 |
6 files changed, 0 insertions, 556 deletions
diff --git a/cpp/examples/direct/Makefile b/cpp/examples/direct/Makefile deleted file mode 100644 index c94e900a75..0000000000 --- a/cpp/examples/direct/Makefile +++ /dev/null @@ -1,20 +0,0 @@ -CXX=g++ -CXXFLAGS= - -PROGRAMS=direct_config_queues listener direct_publisher direct_persistent_publisher -all: $(PROGRAMS) - -direct_config_queues: direct_config_queues.cpp - $(CXX) $(CXXFLAGS) -lqpidclient -o $@ $^ - -listener: listener.cpp - $(CXX) $(CXXFLAGS) -lqpidclient -o $@ $^ - -direct_publisher: direct_publisher.cpp - $(CXX) $(CXXFLAGS) -lqpidclient -o $@ $^ - -direct_persistent_publisher: direct_persistent_publisher.cpp - $(CXX) $(CXXFLAGS) -lqpidclient -o $@ $^ - -clean: - rm -f $(PROGRAMS) diff --git a/cpp/examples/direct/direct_config_queues.cpp b/cpp/examples/direct/direct_config_queues.cpp deleted file mode 100644 index 3a52d4f62f..0000000000 --- a/cpp/examples/direct/direct_config_queues.cpp +++ /dev/null @@ -1,86 +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. - * - */ - -/** - * direct_config_queues.cpp - * - * This program is one of three programs designed to be used - * together. These programs do not specify the exchange type - the - * default exchange type is the direct exchange. - * - * direct_config_queues.cpp (this program): - * - * Creates a queue on a broker, binding a routing key to route - * messages to that queue. - * - * direct_publisher.cpp: - * - * Publishes to a broker, specifying a routing key. - * - * direct_listener.cpp - * - * Reads from a queue on the broker using a message listener. - * - */ - -#include <qpid/client/Connection.h> -#include <qpid/client/Session.h> - -#include <unistd.h> -#include <cstdlib> -#include <iostream> - -using namespace qpid::client; -using namespace qpid::framing; - -using std::string; - - -int main() { - Connection connection; - Message msg; - try { - connection.open("127.0.0.1", 5672); - Session session = connection.newSession(); - - - //--------- Main body of program -------------------------------------------- - - // Create a queue named "message_queue", and route all messages whose - // routing key is "routing_key to this newly created queue. - - session.queueDeclare(arg::queue="message_queue"); - session.queueBind(arg::queue="message_queue", arg::routingKey="routing_key"); - - - //----------------------------------------------------------------------------- - - connection.close(); - return 0; - } catch(const std::exception& error) { - std::cout << error.what() << std::endl; - } - return 1; - -} - - - diff --git a/cpp/examples/direct/direct_persistent_config_queues.cpp b/cpp/examples/direct/direct_persistent_config_queues.cpp deleted file mode 100644 index afe076278b..0000000000 --- a/cpp/examples/direct/direct_persistent_config_queues.cpp +++ /dev/null @@ -1,101 +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. - * - */ - -/** - * direct_config_durable_queues.cpp - * - * This program is one of a set of programs designed to be used - * together. These programs do not specify the exchange type - the - * default exchange type is the direct exchange. - * - * direct_config_queues.cpp: - * - * Creates a queue on a broker, binding a routing key to route - * messages to that queue. - * - * - * direct_publisher.cpp: - * - * Publishes to a broker, specifying a routing key. - * - * direct_listener.cpp - * - * Reads from a queue on the broker using a message listener. - * - * direct_persistent_publisher.cpp: - * - * Publishes a combination of persistent and transient messages - * to a broker, specifying a routing key. The persistent messages - * survive server restart, the transient ones do not (unless the - * queues are configured as durable queues). - * - * direct_config_durable_queues.cpp (this program): - * - * Creates a queue on a broker, binding a routing key to route - * messages to that queue. Uses persistent queues, so all - * messages on the queue survive server restart. - * - * - */ - -#include <qpid/client/Connection.h> -#include <qpid/client/Session.h> - -#include <unistd.h> -#include <cstdlib> -#include <iostream> - -using namespace qpid::client; -using namespace qpid::framing; - -using std::string; - - -int main() { - Connection connection; - Message msg; - try { - connection.open("127.0.0.1", 5672); - Session session = connection.newSession(); - - - //--------- Main body of program -------------------------------------------- - - // Create a queue named "message_queue", and route all messages whose - // routing key is "routing_key to this newly created queue. - - session.queueDeclare(arg::queue="message_queue"); - session.queueBind(arg::queue="message_queue", arg::routingKey="routing_key"); - - - //----------------------------------------------------------------------------- - - connection.close(); - return 0; - } catch(const std::exception& error) { - std::cout << error.what() << std::endl; - } - return 1; - -} - - - diff --git a/cpp/examples/direct/direct_persistent_publisher.cpp b/cpp/examples/direct/direct_persistent_publisher.cpp deleted file mode 100644 index 75637c7eb9..0000000000 --- a/cpp/examples/direct/direct_persistent_publisher.cpp +++ /dev/null @@ -1,111 +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. - * - */ - - -/** - * direct_publisher.cpp: - * - * This program is one of three programs designed to be used - * together. These programs do not specify the exchange type - the - * default exchange type is the direct exchange. - * - * direct_config_queues.cpp: - * - * Creates a queue on a broker, binding a routing key to route - * messages to that queue. - * - * direct_publisher.cpp (this program): - * - * Publishes to a broker, specifying a routing key. - * - * direct_listener.cpp - * - * Reads from a queue on the broker using a message listener. - * - */ - - -#include <qpid/client/Connection.h> -#include <qpid/client/Session.h> -#include <qpid/client/Message.h> - - -#include <unistd.h> -#include <cstdlib> -#include <iostream> - -#include <sstream> - -using namespace qpid::client; -using namespace qpid::framing; - -using std::stringstream; -using std::string; - -int main() { - Connection connection; - Message message; - try { - connection.open("127.0.0.1", 5672 ); - Session session = connection.newSession(); - - //--------- Main body of program -------------------------------------------- - - // The routing key is a message property. We will use the same - // routing key for each message, so we'll set this property - // just once. (In most simple cases, there is no need to set - // other message properties.) - - message.getDeliveryProperties().setRoutingKey("routing_key"); - - // Now send some messages ... - - for (int i=0; i<10; i++) { - stringstream message_data; - message_data << "Message " << i; - message.setData(message_data.str()); - - // Make odd-numbered messages persistent - - if (i % 1) - message.getDeliveryProperties().setDeliveryMode(PERSISTENT); - else - message.getDeliveryProperties().setDeliveryMode(TRANSIENT); - - session.messageTransfer(arg::content=message); - } - - // And send a final message to indicate termination. - - message.setData("That's all, folks!"); - session.messageTransfer(arg::content=message); - - //----------------------------------------------------------------------------- - - connection.close(); - return 0; - } catch(const std::exception& error) { - std::cout << error.what() << std::endl; - } - return 1; -} - - diff --git a/cpp/examples/direct/direct_publisher.cpp b/cpp/examples/direct/direct_publisher.cpp deleted file mode 100644 index 5135f926c3..0000000000 --- a/cpp/examples/direct/direct_publisher.cpp +++ /dev/null @@ -1,104 +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. - * - */ - - -/** - * direct_publisher.cpp: - * - * This program is one of three programs designed to be used - * together. These programs do not specify the exchange type - the - * default exchange type is the direct exchange. - * - * direct_config_queues.cpp: - * - * Creates a queue on a broker, binding a routing key to route - * messages to that queue. - * - * direct_publisher.cpp (this program): - * - * Publishes to a broker, specifying a routing key. - * - * direct_listener.cpp - * - * Reads from a queue on the broker using a message listener. - * - */ - - -#include <qpid/client/Connection.h> -#include <qpid/client/Session.h> -#include <qpid/client/Message.h> - - -#include <unistd.h> -#include <cstdlib> -#include <iostream> - -#include <sstream> - -using namespace qpid::client; -using namespace qpid::framing; - -using std::stringstream; -using std::string; - -int main() { - Connection connection; - Message message; - try { - connection.open("127.0.0.1", 5672 ); - Session session = connection.newSession(); - - //--------- Main body of program -------------------------------------------- - - // The routing key is a message property. We will use the same - // routing key for each message, so we'll set this property - // just once. (In most simple cases, there is no need to set - // other message properties.) - - message.getDeliveryProperties().setRoutingKey("routing_key"); - - // Now send some messages ... - - for (int i=0; i<10; i++) { - stringstream message_data; - message_data << "Message " << i; - - message.setData(message_data.str()); - session.messageTransfer(arg::content=message); - } - - // And send a final message to indicate termination. - - message.setData("That's all, folks!"); - session.messageTransfer(arg::content=message); - - //----------------------------------------------------------------------------- - - connection.close(); - return 0; - } catch(const std::exception& error) { - std::cout << error.what() << std::endl; - } - return 1; -} - - diff --git a/cpp/examples/direct/listener.cpp b/cpp/examples/direct/listener.cpp deleted file mode 100644 index 52840efa03..0000000000 --- a/cpp/examples/direct/listener.cpp +++ /dev/null @@ -1,134 +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. - * - */ - -/** - * direct_listener.cpp: - * - * This program is one of three programs designed to be used - * together. These programs do not specify the exchange type - the - * default exchange type is the direct exchange. - * - * direct_config_queues.cpp: - * - * Creates a queue on a broker, binding a routing key to route - * messages to that queue. - * - * direct_publisher.cpp: - * - * Publishes to a broker, specifying a routing key. - * - * direct_listener.cpp (this program): - * - * Reads from a queue on the broker using a message listener. - * - */ - -#include <qpid/client/Dispatcher.h> -#include <qpid/client/Connection.h> -#include <qpid/client/Session.h> -#include <qpid/client/Message.h> -#include <qpid/client/MessageListener.h> - -#include <unistd.h> -#include <cstdlib> -#include <iostream> - -using namespace qpid::client; -using namespace qpid::framing; - - -class Listener : public MessageListener{ -private: - std::string destination_name; - Dispatcher dispatcher; -public: - Listener(Session& session, string destination_name): - destination_name(destination_name), - dispatcher(session) - {}; - - virtual void listen(); - virtual void received(Message& message); - ~Listener() { }; -}; - - -void Listener::listen() { - std::cout << "Activating listener for: " <<destination_name << std::endl; - dispatcher.listen(destination_name, this); - - // ### The following line gives up control - it should be possible - // ### to listen without giving up control! - - dispatcher.run(); -} - - -void Listener::received(Message& message) { - std::cout << "Message: " << message.getData() << std::endl; - - if (message.getData() == "That's all, folks!") { - std::cout << "Shutting down listener for " <<destination_name << std::endl; - dispatcher.stop(); - } -} - - - -int main() { - Connection connection; - Message msg; - try { - connection.open("127.0.0.1", 5672); - Session session = connection.newSession(); - - //--------- Main body of program -------------------------------------------- - - - // Subscribe to the queue, route it to a client destination for - // the listener. (The destination name merely identifies the - // destination in the listener, you can use any name as long as - // you use the same name for the listener). - - session.messageSubscribe(arg::queue="message_queue", arg::destination="listener_destination"); - - // Allocate some credit ### This really should not be needed for simple examples ! #### - - session.messageFlow(arg::destination="listener_destination", arg::unit=0, arg::value=1);//messages ### Define a constant? - session.messageFlow(arg::destination="listener_destination", arg::unit=1, arg::value=0xFFFFFFFF);//bytes ###### Define a constant? - - // Tell the listener to listen to the destination we just - // created above. - - Listener listener(session, "listener_destination"); - listener.listen(); - - //----------------------------------------------------------------------------- - - connection.close(); - return 0; - } catch(const std::exception& error) { - std::cout << error.what() << std::endl; - } - return 1; -} - - |