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

Review request for qpid, Alan Conway and Gordon Sim.


Repository: qpid


Description
-------

This is the diff for trunk - not previous versions.

This diff is *not* quite the same as the recent diffs I have sent you (Gordon 
and Alan).  It has one additional change.

Code outside of MessageTransfer no longer needs to worry about when to call 
getRequiredCredit or computeRequiredCredit.    Outside code always calls 
getRequiredCredit.  That fn calls computeRequiredCredit and caches the result, 
thereafter using only the cached result.  

This eliminates problems where get() was being called before compute() -- but I 
felt that was a problem that code outside of MessageTransfer should not have to 
worry about.

I was not able to remove the const-ness of getRequiredCredit without causing a 
vast cataclysm of deconstification, so I left it const, but made mutable the 
two variables that it needs to change.


Change list for people who have not seen previous versions:

  * replace frame.map_if with purpose-written loop.  This reduced throughput 
regression by about half.

  * small change in SessionState to make sure requiredCredit gets calculated 
before routing is done.

  * all code outside of MessageTransfer now only calls getRequiredCredit.  If 
the number has not
    yet been calculated -- that problem is encapsulated within MessageTransfer.


Diffs
-----

  trunk/qpid/cpp/src/qpid/broker/MessageBuilder.cpp 1605215 
  trunk/qpid/cpp/src/qpid/broker/SessionState.cpp 1605215 
  trunk/qpid/cpp/src/qpid/broker/amqp_0_10/MessageTransfer.h 1605215 
  trunk/qpid/cpp/src/qpid/broker/amqp_0_10/MessageTransfer.cpp 1605215 
  trunk/qpid/cpp/src/qpid/framing/FrameSet.h 1605215 
  trunk/qpid/cpp/src/qpid/management/ManagementAgent.cpp 1605215 

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


Testing
-------

make check, throughput testing  (see graph)

Hey.  how do I attach things?!?  dang it.  ok -- I will attach pretty graph to 
BZ https://bugzilla.redhat.com/show_bug.cgi?id=1011221


Thanks,

mick goulish

Reply via email to