[
https://issues.apache.org/jira/browse/DISPATCH-525?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Chuck Rolke resolved DISPATCH-525.
----------------------------------
Resolution: Fixed
Issue fixed with commits under DISPATCH-451
> What are proper names and units for protocol configuration settings?
> --------------------------------------------------------------------
>
> Key: DISPATCH-525
> URL: https://issues.apache.org/jira/browse/DISPATCH-525
> Project: Qpid Dispatch
> Issue Type: Improvement
> Components: Management Agent
> Affects Versions: 0.7.0
> Reporter: Chuck Rolke
> Fix For: 1.0.0
>
>
> Several settings are available in configuration objects that are used in AMQP
> negotiations with clients. Some of them are confusing as they exist now and
> could be redefined to make their understanding and usage easier for end
> users. The same settings are defined for Router Listener and Connector and
> for Policy Vhost objects.
> ||Setting||Units||Range||
> |maxFrameSize|octets|uint|
> |maxSessions|sessions|uint16|
> |maxSessionWindow|octets|uint|
> |maxMessageSize *not implemented*|octets|uint|
> |linkCapacity|messages|integer|
> These settings have to work in cooperation with the proton engine interface.
> h2. maxFrameSize
> This setting is straightforward. The range is 0..ULONG_MAX.
> Using octets is fine. This value must be 512 or larger per AMQP spec.
> h4. Proposal
> Leave this setting unchanged.
> h2. maxSessions
> This setting is in units of 'sessions'. The acceptable values are in the
> range 1..65536.
> The number given in the configuration is one larger than the value used by
> AMQP and proton. In AMQP the channel-max value of an Open is the largest
> channel number that can be used. So a channel-max of 0 allows one session,
> and a value of 1 allows two sessions, and so on.
> I prefer to have the spec values be equal to the number of sessions allowed.
> * Dispatch code subtracts one from the specified value and puts it into
> proton channel-max.
> * A value of zero in the spec can be disallowed or it can mean some default
> value.
> h4. Proposal
> Leave this setting unchanged.
> h2. maxSessionWindow
> This setting is in octets. The range is 0..ULONG_MAX with a minimum of
> max-frame-size octets.
> This setting is slightly confusing as the specification is in octets. Then
> that value of octets is passed to proton in pn_session_set_incoming_capacity.
> Proton divides the incoming_capacity by the max-frame-size and uses the
> result in a Begin incoming-window. The incoming-window then is measured in
> transfer frames. For example:
> * maxFrameSize = 65,536.
> * maxSessionWindow = 1,000,000.
> Dividing (1000000 / 65536) = 15 frames. The 15 is used in the
> Begin/incoming-window field during negotiation with the peer.
> A user expecting to have about a megabyte of buffering on the session might
> be surprised to find all the buffering consumed by 15 100-byte transfer
> frames.
> h4. Proposal
> * Rename this setting to *maxSessionFrames*.
> * Change this setting's units of 'transfer frame'. Then the value sent to
> proton in incoming_capacity would be calculated by (maxSessionFrames *
> maxFrameSize). The value of maxSessionFrames would then appear in the
> Begin/incoming-window field.
> h2. maxMessageSize
> This setting is in octets. The range is 0..ULONG_MAX.
> This setting is TBD. No interface in proton engine is available to change it.
> If this value is zero or, more typically, not set then there is no maximum
> message size.
> h4. Proposal
> Leave this setting unchanged.
> h2. linkCapacity
> This setting is in transfer frames. The range is 0..LONG_MAX.
> This setting defines how much credit is issued on links created on a
> connection. It specifies how many transfers can be in-flight concurrently for
> each link.
> This setting is for Listener and Connector objects only. It is not defined
> for Policy Vhost objects.
> h4. Proposal
> * Leave the units and current meaning of this setting unchanged.
> * Add this value to the Policy Vhost settings so that it may be overridden on
> a Vhost Usergroup basis.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]