[ 
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

Reply via email to