You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kg...@apache.org on 2015/06/18 22:15:08 UTC
[03/50] [abbrv] qpid-proton git commit: PROTON-897: Renamed
passive_recv.rb to nonblocking_recv.rb
PROTON-897: Renamed passive_recv.rb to nonblocking_recv.rb
The name is a little more specific as to what the example shows.
Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/267072da
Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/267072da
Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/267072da
Branch: refs/heads/kgiusti-python3
Commit: 267072da7de4d24cad7f9838b917160b3135bd13
Parents: ac4731f
Author: Darryl L. Pierce <mc...@gmail.com>
Authored: Mon Jun 1 11:36:15 2015 -0400
Committer: Darryl L. Pierce <mc...@gmail.com>
Committed: Thu Jun 4 08:28:46 2015 -0400
----------------------------------------------------------------------
examples/ruby/messenger/nonblocking_recv.rb | 140 +++++++++++++++++++++++
examples/ruby/messenger/passive_recv.rb | 140 -----------------------
2 files changed, 140 insertions(+), 140 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/267072da/examples/ruby/messenger/nonblocking_recv.rb
----------------------------------------------------------------------
diff --git a/examples/ruby/messenger/nonblocking_recv.rb b/examples/ruby/messenger/nonblocking_recv.rb
new file mode 100644
index 0000000..d1fa854
--- /dev/null
+++ b/examples/ruby/messenger/nonblocking_recv.rb
@@ -0,0 +1,140 @@
+#!/usr/bin/env ruby
+#
+# 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.
+
+require 'qpid_proton'
+require 'optparse'
+
+addresses = []
+
+OptionParser.new do |opts|
+ opts.banner = "Usage: recv.rb <addr1> ... <addrn>"
+ opts.parse!
+
+ addresses = ARGV
+end
+
+addresses = ["~0.0.0.0"] if addresses.empty?
+
+messenger = Qpid::Proton::Messenger::Messenger.new
+messenger.passive = true
+
+begin
+ messenger.start
+rescue ProtonError => error
+ puts "ERROR: #{error.message}"
+ puts error.backtrace.join("\n")
+ exit
+end
+
+addresses.each do |address|
+ begin
+ messenger.subscribe(address)
+ rescue Qpid::Proton::ProtonError => error
+ puts "ERROR: #{error.message}"
+ exit
+ end
+end
+
+msg = Qpid::Proton::Message.new
+
+read_array = []
+write_array = []
+selectables = {}
+
+loop do
+
+ # wait for incoming messages
+ sel = messenger.selectable
+ while !sel.nil?
+ if sel.terminal?
+ selectables.delete(sel.fileno)
+ read_array.delete(sel)
+ write_array.delete(sel)
+ sel.free
+ else
+ sel.capacity
+ sel.pending
+ if !sel.registered?
+ read_array << sel
+ write_array << sel
+ selectables[sel.fileno] = sel
+ sel.registered = true
+ end
+ end
+ sel = messenger.selectable
+ end
+
+ unless selectables.empty?
+ rarray = []; read_array.each {|fd| rarray << fd.to_io }
+ warray = []; write_array.each {|fd| warray << fd.to_io }
+
+ if messenger.deadline > 0.0
+ result = IO.select(rarray, warray, nil, messenger.deadline)
+ else
+ result = IO.select(rarray, warray)
+ end
+
+ unless result.nil? && result.empty?
+ result.flatten.each do |io|
+ sel = selectables[io.fileno]
+
+ sel.writable if sel.pending > 0
+ sel.readable if sel.capacity > 0
+ end
+ end
+
+ begin
+ messenger.receive(10)
+ rescue Qpid::Proton::ProtonError => error
+ puts "ERROR: #{error.message}"
+ exit
+ end
+
+ while messenger.incoming.nonzero?
+ begin
+ messenger.get(msg)
+ rescue Qpid::Proton::Error => error
+ puts "ERROR: #{error.message}"
+ exit
+ end
+
+ puts "Address: #{msg.address}"
+ subject = msg.subject || "(no subject)"
+ puts "Subject: #{subject}"
+ puts "Body: #{msg.body}"
+ puts "Properties: #{msg.properties}"
+ puts "Instructions: #{msg.instructions}"
+ puts "Annotations: #{msg.annotations}"
+
+ if msg.reply_to
+ puts "=== Sending a reply to #{msg.reply_to}"
+ reply = Qpid::Proton::Message.new
+ reply.address = msg.reply_to
+ reply.subject = "RE: #{msg.subject}"
+ reply.content = "Thanks for the message!"
+
+ messenger.put(reply)
+ messenger.send
+ end
+ end
+ end
+end
+
+messenger.stop
+
http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/267072da/examples/ruby/messenger/passive_recv.rb
----------------------------------------------------------------------
diff --git a/examples/ruby/messenger/passive_recv.rb b/examples/ruby/messenger/passive_recv.rb
deleted file mode 100644
index d1fa854..0000000
--- a/examples/ruby/messenger/passive_recv.rb
+++ /dev/null
@@ -1,140 +0,0 @@
-#!/usr/bin/env ruby
-#
-# 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.
-
-require 'qpid_proton'
-require 'optparse'
-
-addresses = []
-
-OptionParser.new do |opts|
- opts.banner = "Usage: recv.rb <addr1> ... <addrn>"
- opts.parse!
-
- addresses = ARGV
-end
-
-addresses = ["~0.0.0.0"] if addresses.empty?
-
-messenger = Qpid::Proton::Messenger::Messenger.new
-messenger.passive = true
-
-begin
- messenger.start
-rescue ProtonError => error
- puts "ERROR: #{error.message}"
- puts error.backtrace.join("\n")
- exit
-end
-
-addresses.each do |address|
- begin
- messenger.subscribe(address)
- rescue Qpid::Proton::ProtonError => error
- puts "ERROR: #{error.message}"
- exit
- end
-end
-
-msg = Qpid::Proton::Message.new
-
-read_array = []
-write_array = []
-selectables = {}
-
-loop do
-
- # wait for incoming messages
- sel = messenger.selectable
- while !sel.nil?
- if sel.terminal?
- selectables.delete(sel.fileno)
- read_array.delete(sel)
- write_array.delete(sel)
- sel.free
- else
- sel.capacity
- sel.pending
- if !sel.registered?
- read_array << sel
- write_array << sel
- selectables[sel.fileno] = sel
- sel.registered = true
- end
- end
- sel = messenger.selectable
- end
-
- unless selectables.empty?
- rarray = []; read_array.each {|fd| rarray << fd.to_io }
- warray = []; write_array.each {|fd| warray << fd.to_io }
-
- if messenger.deadline > 0.0
- result = IO.select(rarray, warray, nil, messenger.deadline)
- else
- result = IO.select(rarray, warray)
- end
-
- unless result.nil? && result.empty?
- result.flatten.each do |io|
- sel = selectables[io.fileno]
-
- sel.writable if sel.pending > 0
- sel.readable if sel.capacity > 0
- end
- end
-
- begin
- messenger.receive(10)
- rescue Qpid::Proton::ProtonError => error
- puts "ERROR: #{error.message}"
- exit
- end
-
- while messenger.incoming.nonzero?
- begin
- messenger.get(msg)
- rescue Qpid::Proton::Error => error
- puts "ERROR: #{error.message}"
- exit
- end
-
- puts "Address: #{msg.address}"
- subject = msg.subject || "(no subject)"
- puts "Subject: #{subject}"
- puts "Body: #{msg.body}"
- puts "Properties: #{msg.properties}"
- puts "Instructions: #{msg.instructions}"
- puts "Annotations: #{msg.annotations}"
-
- if msg.reply_to
- puts "=== Sending a reply to #{msg.reply_to}"
- reply = Qpid::Proton::Message.new
- reply.address = msg.reply_to
- reply.subject = "RE: #{msg.subject}"
- reply.content = "Thanks for the message!"
-
- messenger.put(reply)
- messenger.send
- end
- end
- end
-end
-
-messenger.stop
-
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org