summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/cluster/OutputInterceptor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/qpid/cluster/OutputInterceptor.cpp')
-rw-r--r--cpp/src/qpid/cluster/OutputInterceptor.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/cpp/src/qpid/cluster/OutputInterceptor.cpp b/cpp/src/qpid/cluster/OutputInterceptor.cpp
index ae2a040ef3..075023caea 100644
--- a/cpp/src/qpid/cluster/OutputInterceptor.cpp
+++ b/cpp/src/qpid/cluster/OutputInterceptor.cpp
@@ -32,8 +32,10 @@ namespace cluster {
using namespace framing;
-OutputInterceptor::OutputInterceptor(cluster::Connection& p, sys::ConnectionOutputHandler& h)
- : parent(p), next(&h), sent(), moreOutput(), doingOutput()
+OutputInterceptor::OutputInterceptor(
+ cluster::Connection& p, sys::ConnectionOutputHandler& h)
+ : parent(p), next(&h), sent(), writeEstimate(p.getCluster().getWriteEstimate()),
+ moreOutput(), doingOutput()
{}
void OutputInterceptor::send(framing::AMQFrame& f) {
@@ -69,7 +71,7 @@ bool OutputInterceptor::doOutput() {
void OutputInterceptor::deliverDoOutput(size_t requested) {
size_t buf = next->getBuffered();
if (parent.isLocal())
- writeEstimate.delivered(sent, buf); // Update the estimate.
+ writeEstimate.delivered(requested, sent, buf); // Update the estimate.
// Run the real doOutput() till we have added the requested data or there's nothing to output.
sent = 0;