-----------------------------------------------------------
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