[ https://issues.apache.org/jira/browse/QPID-3859?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13214656#comment-13214656 ]
jirapos...@reviews.apache.org commented on QPID-3859: ----------------------------------------------------- bq. On 2012-02-21 19:33:11, Andrew Stitcher wrote: bq. > trunk/qpid/cpp/src/qpid/client/amqp0_10/SessionTracker.cpp, line 124 bq. > <https://reviews.apache.org/r/2828/diff/8/?file=75309#file75309line124> bq. > bq. > Why the dead code in a comment? If it needs to be there say why. If not delete it, but tell me why you getDeadline and then ignore the answer. bq. bq. Darryl Pierce wrote: bq. These are elements brought over from the code I copied from Gordon's patch set. I'll let him comment on them. The commenting out was not from me. My initial sketch of the added API and implementation (https://reviews.apache.org/r/1687) does however have some redundant calls. It looks like they were part of the early evolution that didn't get removed. The solution is to remove the lines entirely not to comment the return value out. - Gordon ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/2828/#review5246 ----------------------------------------------------------- On 2012-02-20 15:53:08, Darryl Pierce wrote: bq. bq. ----------------------------------------------------------- bq. This is an automatically generated e-mail. To reply, visit: bq. https://reviews.apache.org/r/2828/ bq. ----------------------------------------------------------- bq. bq. (Updated 2012-02-20 15:53:08) bq. bq. bq. Review request for Andrew Stitcher, Alan Conway, Gordon Sim, Kenneth Giusti, and Rafael Schloming. bq. bq. bq. Summary bq. ------- bq. bq. This first pass has full integration of the Tracker type with the Ruby bindings to provide a non-blocking means for responding to incoming messages. bq. bq. After a Receiver is created, a call to Qpid::Messaging.receive will wait for the next message to become available on it. When one is received, a provided lambda function is invoked and the receiver passed to it. The message can then be retrieved, acknowledged, etc. bq. bq. bq. This addresses bug QPID-3859. bq. https://issues.apache.org/jira/browse/QPID-3859 bq. bq. bq. Diffs bq. ----- bq. bq. trunk/qpid/cpp/bindings/qpid/CMakeLists.txt 1243858 bq. trunk/qpid/cpp/bindings/qpid/nonblockio/CMakeLists.txt PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/nonblockio/qpid/messaging/Prong.h PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/nonblockio/qpid/messaging/Prong.cpp PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/nonblockio/qpid/messaging/TrackerAdaptor.h PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/nonblockio/qpid/messaging/TrackerAdaptor.cpp PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/nonblockio/qpid/messaging/TrackerAdaptorImpl.h PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/nonblockio/qpid/messaging/TrackerAdaptorImpl.cpp PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/nonblockio/qpid/messaging/TrackerEventHandler.h PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/nonblockio/qpid/messaging/TrackerEventHandler.cpp PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/nonblockio/qpid/messaging/synchio/Acknowledge.h PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/nonblockio/qpid/messaging/synchio/Acknowledge.cpp PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/nonblockio/qpid/messaging/synchio/AcknowledgeImpl.h PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/nonblockio/qpid/messaging/synchio/AcknowledgeImpl.cpp PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/nonblockio/qpid/messaging/synchio/BaseThreadedEventHandler.h PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/nonblockio/qpid/messaging/synchio/BaseThreadedEventHandler.cpp PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/nonblockio/qpid/messaging/synchio/BaseTrackerEventHandler.h PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/nonblockio/qpid/messaging/synchio/BaseTrackerEventHandler.cpp PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/nonblockio/qpid/messaging/synchio/NextReceiver.h PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/nonblockio/qpid/messaging/synchio/NextReceiver.cpp PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/nonblockio/qpid/messaging/synchio/NextReceiverImpl.h PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/nonblockio/qpid/messaging/synchio/NextReceiverImpl.cpp PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/nonblockio/qpid/messaging/synchio/Receive.h PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/nonblockio/qpid/messaging/synchio/Receive.cpp PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/nonblockio/qpid/messaging/synchio/ReceiveImpl.h PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/nonblockio/qpid/messaging/synchio/ReceiveImpl.cpp PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/nonblockio/qpid/messaging/synchio/Send.h PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/nonblockio/qpid/messaging/synchio/Send.cpp PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/nonblockio/qpid/messaging/synchio/SendImpl.h PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/nonblockio/qpid/messaging/synchio/SendImpl.cpp PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/nonblockio/qpid/messaging/synchio/SessionSync.h PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/nonblockio/qpid/messaging/synchio/SessionSync.cpp PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/nonblockio/qpid/messaging/synchio/SessionSyncImpl.h PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/nonblockio/qpid/messaging/synchio/SessionSyncImpl.cpp PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/qpid.i 1243858 bq. trunk/qpid/cpp/bindings/qpid/ruby/CMakeLists.txt 1243858 bq. trunk/qpid/cpp/bindings/qpid/ruby/README.rdoc 1243858 bq. trunk/qpid/cpp/bindings/qpid/ruby/Rakefile 1243858 bq. trunk/qpid/cpp/bindings/qpid/ruby/examples/drain.rb 1243858 bq. trunk/qpid/cpp/bindings/qpid/ruby/examples/map_receiver.rb 1243858 bq. trunk/qpid/cpp/bindings/qpid/ruby/examples/spout.rb 1243858 bq. trunk/qpid/cpp/bindings/qpid/ruby/ext/nonblockio/extconf.rb PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/ruby/ext/nonblockio/nonblockio.h PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/ruby/ext/nonblockio/nonblockio.c PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/ruby/ext/nonblockio/qpid_receiver.c PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/ruby/ext/nonblockio/qpid_sender.c PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/ruby/ext/nonblockio/qpid_session.c PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/ruby/ext/nonblockio/qpid_utils.c PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/ruby/ext/nonblockio/test_next_receiver.rb PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/ruby/ext/nonblockio/test_receiver_get_and_fetch.rb PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/ruby/features/receiving_a_message.feature 1243858 bq. trunk/qpid/cpp/bindings/qpid/ruby/features/step_definitions/receiver_steps.rb 1243858 bq. trunk/qpid/cpp/bindings/qpid/ruby/features/step_definitions/session_steps.rb 1243858 bq. trunk/qpid/cpp/bindings/qpid/ruby/lib/qpid.rb 1243858 bq. trunk/qpid/cpp/bindings/qpid/ruby/lib/qpid/address.rb 1243858 bq. trunk/qpid/cpp/bindings/qpid/ruby/lib/qpid/connection.rb 1243858 bq. trunk/qpid/cpp/bindings/qpid/ruby/lib/qpid/encoding.rb 1243858 bq. trunk/qpid/cpp/bindings/qpid/ruby/lib/qpid/message.rb 1243858 bq. trunk/qpid/cpp/bindings/qpid/ruby/lib/qpid/receiver.rb 1243858 bq. trunk/qpid/cpp/bindings/qpid/ruby/lib/qpid/sender.rb 1243858 bq. trunk/qpid/cpp/bindings/qpid/ruby/lib/qpid/session.rb 1243858 bq. trunk/qpid/cpp/bindings/qpid/ruby/lib/qpid/utils.rb PRE-CREATION bq. trunk/qpid/cpp/bindings/qpid/ruby/lib/qpid/version.rb 1243858 bq. trunk/qpid/cpp/bindings/qpid/ruby/ruby.i 1243858 bq. trunk/qpid/cpp/bindings/qpid/ruby/spec/qpid/encoding_spec.rb 1243858 bq. trunk/qpid/cpp/bindings/qpid/ruby/spec/qpid/message_spec.rb 1243858 bq. trunk/qpid/cpp/bindings/qpid/ruby/spec/qpid/receiver_spec.rb 1243858 bq. trunk/qpid/cpp/bindings/qpid/ruby/spec/qpid/sender_spec.rb 1243858 bq. trunk/qpid/cpp/bindings/qpid/ruby/spec/qpid/session_spec.rb 1243858 bq. trunk/qpid/cpp/bindings/qpid/ruby/spec/spec_helper.rb 1243858 bq. trunk/qpid/cpp/examples/messaging/CMakeLists.txt 1243858 bq. trunk/qpid/cpp/examples/messaging/Makefile.am 1243858 bq. trunk/qpid/cpp/examples/messaging/extra_dist/Makefile 1243858 bq. trunk/qpid/cpp/examples/messaging/non_blocking.cpp PRE-CREATION bq. trunk/qpid/cpp/include/qpid/messaging/Session.h 1243858 bq. trunk/qpid/cpp/include/qpid/messaging/Tracker.h PRE-CREATION bq. trunk/qpid/cpp/src/CMakeLists.txt 1243858 bq. trunk/qpid/cpp/src/Makefile.am 1243858 bq. trunk/qpid/cpp/src/qpid/client/SessionImpl.h 1243858 bq. trunk/qpid/cpp/src/qpid/client/SessionImpl.cpp 1243858 bq. trunk/qpid/cpp/src/qpid/client/amqp0_10/SenderImpl.cpp 1243858 bq. trunk/qpid/cpp/src/qpid/client/amqp0_10/SessionImpl.h 1243858 bq. trunk/qpid/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp 1243858 bq. trunk/qpid/cpp/src/qpid/client/amqp0_10/SessionTracker.h PRE-CREATION bq. trunk/qpid/cpp/src/qpid/client/amqp0_10/SessionTracker.cpp PRE-CREATION bq. trunk/qpid/cpp/src/qpid/messaging/Session.cpp 1243858 bq. trunk/qpid/cpp/src/qpid/messaging/SessionImpl.h 1243858 bq. trunk/qpid/cpp/src/qpid/messaging/Tracker.cpp PRE-CREATION bq. trunk/qpid/cpp/src/qpid/sys/BlockingQueue.h 1243858 bq. bq. Diff: https://reviews.apache.org/r/2828/diff bq. bq. bq. Testing bq. ------- bq. bq. bq. Thanks, bq. bq. Darryl bq. bq. > Provide non-blocking I/O functionality to the Ruby APIs > ------------------------------------------------------- > > Key: QPID-3859 > URL: https://issues.apache.org/jira/browse/QPID-3859 > Project: Qpid > Issue Type: Improvement > Components: Ruby Client > Reporter: Darryl L. Pierce > Priority: Critical > > Provide functionality that overcomes the limitation of the Ruby global > interpreter. Prevent the Ruby VM from become become unresponsive when a > blocking I/O call is made so that other Ruby threads can continue to execute > while the I/O continues. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org