Pavel Moravec created QPID-5895: ----------------------------------- Summary: [C++ client] Allow consumer flow control based on #bytes Key: QPID-5895 URL: https://issues.apache.org/jira/browse/QPID-5895 Project: Qpid Issue Type: Improvement Components: C++ Client Affects Versions: 0.29 Reporter: Pavel Moravec Assignee: Pavel Moravec Priority: Minor
Broker consumers should be able to control message flow based on message sizes, not only message count. In scenarios, where the size of messages is variable - from several kB to tens of MB - the flow control based on message numbers is not sufficient. Using a small limit in messages has a big performance impact on throughtput when receiving small messages. On the other hand, when using a big limit, the throughput with small messages improves, but when the client receives suddenly many big messages, the big limit can cause the client memory issues. Therefore it is important to have a possibility to define the limit not only in messages but also in bytes, so that the application can handle both situations. To fulfull the requirement both for AMQP 0-10 and AMQP 1.0, a new connection option "max-prefetch-bytes" should be used. With AMQP 0.10, this limit will be applied individually to every receiver, via the byte credit for subscriptions. With AMQP 1.0 it will be applied on the connection level, via max frame size and incoming session window AMQP parameters. The existing message based prefetch can remain unchanged at the receiver level and should work individually. -- This message was sent by Atlassian JIRA (v6.2#6252) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org