ChugR opened a new pull request #847:
URL: https://github.com/apache/qpid-dispatch/pull/847
AMQP Open defines a 'max-frame-size'
AMQP Begin defines an 'incoming-window'
Proton allows specification of a session 'capacity'. Initially the
incoming-window will be (capacity / max-frame-size), defining at most
how many max-size transfers will definitely be accepted on the session.
Dispatch listener config defines a maxFrameSize and a maxSessionFrames
the product of which is equal to the capacity to be configured in Proton.
Dispatch vhostUserGroup policy defines a maxFrameSize and a
maxSessionWindow. The maxSessionWindow is passed directly to Proton
as the capacity.
Proton has some rules about values are allowed for max-frame-size and
capacity.
* max-frame-size has a minimum max-value (512 octets)
* on 32-bit systems the capacity cannot exceed 2^31-1
* on 64-bit systems the capacity cannot exceed 2^63-1
This patch
* Defines an AMQP_MAX_WINDOW_SIZE (2^31-1) as used by Proton.
* Cleans up the calculation of Proton session capacity from
the various Dispatch configuration settings.
* If maxSessionFrames is not set, meaning unlimited frames, then
the session capacity sent to Proton is zero. In this case Proton
never calculates an actual incoming-window value and simply
sends AMQP_MAX_WINDOW_SIZE as a hard-coded value for incoming-window.
This is for both 32-bit and 64-bit systems.
* Adjusts some self tests to allow the default settings for 32-bit and
64-bit systems without detecting which bit width is in effect. If
the test detects one or the other value then it calls the test a
success.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]