diff options
| author | Andrew Stitcher <astitcher@apache.org> | 2009-02-02 22:28:17 +0000 |
|---|---|---|
| committer | Andrew Stitcher <astitcher@apache.org> | 2009-02-02 22:28:17 +0000 |
| commit | f6f519835a049e53f13af818e26decba1fc82f3d (patch) | |
| tree | 10c71151ad6d0871da35923d12c97fa2e0826c75 /cpp/src/qpid/broker/SessionState.cpp | |
| parent | e5d4d995196e8a48cf7bc2180738b9bf5c3cb14f (diff) | |
| download | qpid-python-f6f519835a049e53f13af818e26decba1fc82f3d.tar.gz | |
Send client property indicating that client supports
producer throttling in the Connection.OpenOK message.
Broker only tries to apply flow control to client if it
has received the property in the Connection.OpenOK message.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@740135 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/SessionState.cpp')
| -rw-r--r-- | cpp/src/qpid/broker/SessionState.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/cpp/src/qpid/broker/SessionState.cpp b/cpp/src/qpid/broker/SessionState.cpp index 5039b31874..9088be2e54 100644 --- a/cpp/src/qpid/broker/SessionState.cpp +++ b/cpp/src/qpid/broker/SessionState.cpp @@ -77,8 +77,12 @@ SessionState::SessionState( } } uint32_t maxRate = broker.getOptions().maxSessionRate; - if (maxRate) { - rateFlowcontrol = new RateFlowcontrol(maxRate); + if (maxRate) { + if (handler->getConnection().getClientThrottling()) { + rateFlowcontrol = new RateFlowcontrol(maxRate); + } else { + QPID_LOG(warning, getId() << ": Unable to flow control client - client doesn't support"); + } } attach(h); } |
