-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/9698/
-----------------------------------------------------------

Review request for qpid, Andrew Stitcher, Alan Conway, Gordon Sim, and Ted Ross.


Description
-------

* Move Topic exchange RWlock up into the parent exchange class and call it 
'bindingLock'.

* In Topic exchange take RWlock out of the derived class and use the parent's 
lock.
* In Direct and Headers exchanges change the semantics of the current lock to 
use the Topic exchange pattern.
* In FanOut exchange add locks at the same places as in the other exchanges 
except only use Rlock. FanOut receives the locking it needs from the 
CopyOnWriteArray and does not need anything else. By adding only Rlocks threads 
will never block in the normal case. However, the Rlocks are the hooks that the 
new application will need to freeze the exchange when that app takes out the 
Wlock.


This addresses bug QPID-4616.
    https://issues.apache.org/jira/browse/QPID-4616


Diffs
-----

  trunk/qpid/cpp/src/qpid/broker/DirectExchange.h 1451602 
  trunk/qpid/cpp/src/qpid/broker/DirectExchange.cpp 1451602 
  trunk/qpid/cpp/src/qpid/broker/Exchange.h 1451602 
  trunk/qpid/cpp/src/qpid/broker/FanOutExchange.cpp 1451602 
  trunk/qpid/cpp/src/qpid/broker/HeadersExchange.h 1451602 
  trunk/qpid/cpp/src/qpid/broker/HeadersExchange.cpp 1451602 
  trunk/qpid/cpp/src/qpid/broker/TopicExchange.h 1451602 
  trunk/qpid/cpp/src/qpid/broker/TopicExchange.cpp 1451602 

Diff: https://reviews.apache.org/r/9698/diff/


Testing
-------

Passes normal self tests


Thanks,

Chug Rolke

Reply via email to