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: [email protected]
For additional commands, e-mail: [email protected]