Receiver is the entity through which messages are received.
An instance of Receiver can only be created using an active (not previously closed) Session.
conn = Qpid::Messaging::Connection.new :url => "mybroker:5762" conn.open session = conn.create_session receiver = session.create_receiver "my-sender-queue"
Returns the number of slots for receiving messages.
This differs from capacity
in that it is the available slots
in the capacity for holding incoming messages, where available <=
capacity.
puts "You can receive #{rcv.available} messages before blocking."
# File lib/qpid_messaging/receiver.rb, line 137 def available; @receiver_impl.getAvailable; end
Closes this Receiver
.
This does not affect the Session
.
# File lib/qpid_messaging/receiver.rb, line 151 def close; @receiver_impl.close; end
Retrieves a message from the receiver's subscription, or waits for up to the duration specified for one to become available.
If a block is given, then it will be invaked after the next message is received or the call times out, passing in the message or nil respectively.
duration - the timeout to wait (def. Duration::FOREVER)
msg = rcvr.fetch # Uses the default timeout of forever msg = rcvr.fetch Qpid::Messaging::Duration::IMMEDIATE # returns a message or exits immediately # passes in a block to handle the received message rcvr.fetch Qpid::Messaging::Duration::SECOND do |message| if message.nil? puts "No message was received." else puts "Received this message: #{message.content}" end end
# File lib/qpid_messaging/receiver.rb, line 99 def fetch(duration = Qpid::Messaging::Duration::FOREVER) message_impl = @receiver_impl.fetch duration.duration_impl create_message_wrapper message_impl unless message_impl.nil? end
Retrieves a message from the local queue, or waits for up to the duration specified for one to become available.
If a block is given, then it will be invaked after the next message is received or the call times out, passing in the message or nil respectively.
duration - the timeout to wait (def. Duration::FOREVER)
msg = rcvr.get # Uses the default timeout of forever msg = rcvr.get Qpid::Messaging::Duration::IMMEDIATE # returns a message or exits immediately # passes in a block to handle the received message rcvr.get Qpid::Messaging::Duration::SECOND do |message| if message.nil? puts "No message was received." else puts "Received this message: #{message.content}" end end
# File lib/qpid_messaging/receiver.rb, line 70 def get(duration = Qpid::Messaging::Duration::FOREVER) message_impl = @receiver_impl.get duration.duration_impl create_message_wrapper message_impl unless message_impl.nil? end
Returns the Session for this
Receiver
.
# File lib/qpid_messaging/receiver.rb, line 169 def session; @session; end
Returns the number of messages that have been received and acknowledged but whose acknowledgements have not been confirmed by the sender.
puts "You have #{rcv.unsettled} messages to be confirmed."
# File lib/qpid_messaging/receiver.rb, line 146 def unsettled; @receiver_impl.getUnsettled; end