You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by GitBox <gi...@apache.org> on 2020/09/19 00:47:41 UTC

[GitHub] [qpid-dispatch] ChugR opened a new pull request #847: DISPATCH-1751: Rework how AMQP session incoming-window is derived

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:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


[GitHub] [qpid-dispatch] ganeshmurthy commented on a change in pull request #847: DISPATCH-1751: Rework how AMQP session incoming-window is derived

Posted by GitBox <gi...@apache.org>.
ganeshmurthy commented on a change in pull request #847:
URL: https://github.com/apache/qpid-dispatch/pull/847#discussion_r507837284



##########
File path: src/connection_manager.c
##########
@@ -438,25 +438,37 @@ static qd_error_t load_server_config(qd_dispatch_t *qd, qd_server_config_t *conf
         config->max_frame_size = QD_AMQP_MIN_MAX_FRAME_SIZE;
 
     //
-    // Given session frame count and max frame size compute session incoming_capacity
+    // Given session frame count and max frame size, compute session incoming_capacity
+    //   On 64-bit systems the capacity has no limit.
+    //   On 32-bit systems the largest capacity is AMQP_MAX_WINDWOW_SIZE.
     //
-    if (ssn_frames == 0)
-        config->incoming_capacity = (sizeof(size_t) < 8) ? 0x7FFFFFFFLL : 0x7FFFFFFFLL * config->max_frame_size;
-    else {
-        uint64_t mfs      = (uint64_t) config->max_frame_size;
-        uint64_t trial_ic = ssn_frames * mfs;
-        uint64_t limit    = (sizeof(size_t) < 8) ? (1ll << 31) - 1 : 0;
-        if (limit == 0 || trial_ic < limit) {
-            // Silently promote incoming capacity of zero to one
-            config->incoming_capacity = 
-                (trial_ic < QD_AMQP_MIN_MAX_FRAME_SIZE ? QD_AMQP_MIN_MAX_FRAME_SIZE : trial_ic);
+    if (ssn_frames == 0) {

Review comment:
       > Also can we change policy.c to only call pn_session_set_incoming_capacity if the capacity is non-zero. I understand that it is okay to call pn_session_set_incoming_capacity with a zero capacity but not calling it seems clearer. Your call
   
   @ChugR what do you think of the above comment ?




----------------------------------------------------------------
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:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


[GitHub] [qpid-dispatch] ChugR commented on a change in pull request #847: DISPATCH-1751: Rework how AMQP session incoming-window is derived

Posted by GitBox <gi...@apache.org>.
ChugR commented on a change in pull request #847:
URL: https://github.com/apache/qpid-dispatch/pull/847#discussion_r508519223



##########
File path: src/amqp.c
##########
@@ -96,6 +96,8 @@ const char * const QD_AMQPS_PORT_STR = "5671";
 
 const char * const QD_AMQP_DFLT_PROTO = "tcp";
 
+const int PN_AMQP_MAX_SESSION_CAPACITY_32BIT = 2147483647;

Review comment:
       2^31-1 is not a limit imposed by Proton or by AMQP. It is half of a 32-bit address space and the chances of it being reached are about zero.
   
   I've renamed the constant and reduced its scope in another patch.




----------------------------------------------------------------
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:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


[GitHub] [qpid-dispatch] ganeshmurthy commented on a change in pull request #847: DISPATCH-1751: Rework how AMQP session incoming-window is derived

Posted by GitBox <gi...@apache.org>.
ganeshmurthy commented on a change in pull request #847:
URL: https://github.com/apache/qpid-dispatch/pull/847#discussion_r492166020



##########
File path: src/connection_manager.c
##########
@@ -438,25 +438,37 @@ static qd_error_t load_server_config(qd_dispatch_t *qd, qd_server_config_t *conf
         config->max_frame_size = QD_AMQP_MIN_MAX_FRAME_SIZE;
 
     //
-    // Given session frame count and max frame size compute session incoming_capacity
+    // Given session frame count and max frame size, compute session incoming_capacity
+    //   On 64-bit systems the capacity has no limit.
+    //   On 32-bit systems the largest capacity is AMQP_MAX_WINDWOW_SIZE.
     //
-    if (ssn_frames == 0)
-        config->incoming_capacity = (sizeof(size_t) < 8) ? 0x7FFFFFFFLL : 0x7FFFFFFFLL * config->max_frame_size;
-    else {
-        uint64_t mfs      = (uint64_t) config->max_frame_size;
-        uint64_t trial_ic = ssn_frames * mfs;
-        uint64_t limit    = (sizeof(size_t) < 8) ? (1ll << 31) - 1 : 0;
-        if (limit == 0 || trial_ic < limit) {
-            // Silently promote incoming capacity of zero to one
-            config->incoming_capacity = 
-                (trial_ic < QD_AMQP_MIN_MAX_FRAME_SIZE ? QD_AMQP_MIN_MAX_FRAME_SIZE : trial_ic);
+    if (ssn_frames == 0) {

Review comment:
       Also can we change policy.c to only call pn_session_set_incoming_capacity if the capacity is non-zero. I understand that it is okay to call pn_session_set_incoming_capacity with a zero capacity but not calling it seems clearer. Your call




----------------------------------------------------------------
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:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


[GitHub] [qpid-dispatch] gemmellr commented on a change in pull request #847: DISPATCH-1751: Rework how AMQP session incoming-window is derived

Posted by GitBox <gi...@apache.org>.
gemmellr commented on a change in pull request #847:
URL: https://github.com/apache/qpid-dispatch/pull/847#discussion_r492169846



##########
File path: src/connection_manager.c
##########
@@ -438,25 +438,37 @@ static qd_error_t load_server_config(qd_dispatch_t *qd, qd_server_config_t *conf
         config->max_frame_size = QD_AMQP_MIN_MAX_FRAME_SIZE;
 
     //
-    // Given session frame count and max frame size compute session incoming_capacity
+    // Given session frame count and max frame size, compute session incoming_capacity
+    //   On 64-bit systems the capacity has no limit.
+    //   On 32-bit systems the largest capacity is AMQP_MAX_WINDWOW_SIZE.
     //
-    if (ssn_frames == 0)
-        config->incoming_capacity = (sizeof(size_t) < 8) ? 0x7FFFFFFFLL : 0x7FFFFFFFLL * config->max_frame_size;
-    else {
-        uint64_t mfs      = (uint64_t) config->max_frame_size;
-        uint64_t trial_ic = ssn_frames * mfs;
-        uint64_t limit    = (sizeof(size_t) < 8) ? (1ll << 31) - 1 : 0;
-        if (limit == 0 || trial_ic < limit) {
-            // Silently promote incoming capacity of zero to one
-            config->incoming_capacity = 
-                (trial_ic < QD_AMQP_MIN_MAX_FRAME_SIZE ? QD_AMQP_MIN_MAX_FRAME_SIZE : trial_ic);
+    if (ssn_frames == 0) {

Review comment:
       I'd agree with the above being clearer.

##########
File path: src/connection_manager.c
##########
@@ -438,25 +438,37 @@ static qd_error_t load_server_config(qd_dispatch_t *qd, qd_server_config_t *conf
         config->max_frame_size = QD_AMQP_MIN_MAX_FRAME_SIZE;
 
     //
-    // Given session frame count and max frame size compute session incoming_capacity
+    // Given session frame count and max frame size, compute session incoming_capacity
+    //   On 64-bit systems the capacity has no limit.
+    //   On 32-bit systems the largest capacity is AMQP_MAX_WINDWOW_SIZE.
     //
-    if (ssn_frames == 0)
-        config->incoming_capacity = (sizeof(size_t) < 8) ? 0x7FFFFFFFLL : 0x7FFFFFFFLL * config->max_frame_size;
-    else {
-        uint64_t mfs      = (uint64_t) config->max_frame_size;
-        uint64_t trial_ic = ssn_frames * mfs;
-        uint64_t limit    = (sizeof(size_t) < 8) ? (1ll << 31) - 1 : 0;
-        if (limit == 0 || trial_ic < limit) {
-            // Silently promote incoming capacity of zero to one
-            config->incoming_capacity = 
-                (trial_ic < QD_AMQP_MIN_MAX_FRAME_SIZE ? QD_AMQP_MIN_MAX_FRAME_SIZE : trial_ic);
+    if (ssn_frames == 0) {
+        // Unlimited incoming frames.
+        // config->incoming_capacity is zero. Proton incoming_window is always AMQP_MAX_WINDOW_SIZE
+    } else {
+        // Limited incoming frames.
+        // Specify this to proton by setting capacity to be
+        // the product (max_frame_size * ssn_frames).
+
+        size_t capacity = config->max_frame_size * ssn_frames;
+        assert(capacity >= (size_t)QD_AMQP_MIN_MAX_FRAME_SIZE);

Review comment:
       The assert seems redundant if there is any verification of the actual max frame size setting..and if there isnt, maybe there should be? The ssn_frames is known to be non zero, and if its >=1 the assert cant trigger unless the frame size is illegal.
   
   Ah, unless the assert  is also trying to handle overflow in the capacity calculation? In which case it doesnt really do that very completely, just checks it isnt under max frame size.




----------------------------------------------------------------
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:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


[GitHub] [qpid-dispatch] ganeshmurthy commented on a change in pull request #847: DISPATCH-1751: Rework how AMQP session incoming-window is derived

Posted by GitBox <gi...@apache.org>.
ganeshmurthy commented on a change in pull request #847:
URL: https://github.com/apache/qpid-dispatch/pull/847#discussion_r492163426



##########
File path: src/connection_manager.c
##########
@@ -438,25 +438,37 @@ static qd_error_t load_server_config(qd_dispatch_t *qd, qd_server_config_t *conf
         config->max_frame_size = QD_AMQP_MIN_MAX_FRAME_SIZE;
 
     //
-    // Given session frame count and max frame size compute session incoming_capacity
+    // Given session frame count and max frame size, compute session incoming_capacity
+    //   On 64-bit systems the capacity has no limit.
+    //   On 32-bit systems the largest capacity is AMQP_MAX_WINDWOW_SIZE.
     //
-    if (ssn_frames == 0)
-        config->incoming_capacity = (sizeof(size_t) < 8) ? 0x7FFFFFFFLL : 0x7FFFFFFFLL * config->max_frame_size;
-    else {
-        uint64_t mfs      = (uint64_t) config->max_frame_size;
-        uint64_t trial_ic = ssn_frames * mfs;
-        uint64_t limit    = (sizeof(size_t) < 8) ? (1ll << 31) - 1 : 0;
-        if (limit == 0 || trial_ic < limit) {
-            // Silently promote incoming capacity of zero to one
-            config->incoming_capacity = 
-                (trial_ic < QD_AMQP_MIN_MAX_FRAME_SIZE ? QD_AMQP_MIN_MAX_FRAME_SIZE : trial_ic);
+    if (ssn_frames == 0) {

Review comment:
       Can we remove this empty if (ssn_frames == 0) check and instead just say if (ssn_frames != 0)

##########
File path: src/connection_manager.c
##########
@@ -438,25 +438,37 @@ static qd_error_t load_server_config(qd_dispatch_t *qd, qd_server_config_t *conf
         config->max_frame_size = QD_AMQP_MIN_MAX_FRAME_SIZE;
 
     //
-    // Given session frame count and max frame size compute session incoming_capacity
+    // Given session frame count and max frame size, compute session incoming_capacity
+    //   On 64-bit systems the capacity has no limit.
+    //   On 32-bit systems the largest capacity is AMQP_MAX_WINDWOW_SIZE.
     //
-    if (ssn_frames == 0)
-        config->incoming_capacity = (sizeof(size_t) < 8) ? 0x7FFFFFFFLL : 0x7FFFFFFFLL * config->max_frame_size;
-    else {
-        uint64_t mfs      = (uint64_t) config->max_frame_size;
-        uint64_t trial_ic = ssn_frames * mfs;
-        uint64_t limit    = (sizeof(size_t) < 8) ? (1ll << 31) - 1 : 0;
-        if (limit == 0 || trial_ic < limit) {
-            // Silently promote incoming capacity of zero to one
-            config->incoming_capacity = 
-                (trial_ic < QD_AMQP_MIN_MAX_FRAME_SIZE ? QD_AMQP_MIN_MAX_FRAME_SIZE : trial_ic);
+    if (ssn_frames == 0) {

Review comment:
       Also can we change policy.c to only call pn_session_set_incoming_capacity if the capacity is non-zero. I understand that it is okay to call pn_session_set_incoming_capacity with a zero capacity but not calling it seems clearer. Your call




----------------------------------------------------------------
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:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


[GitHub] [qpid-dispatch] gemmellr commented on a change in pull request #847: DISPATCH-1751: Rework how AMQP session incoming-window is derived

Posted by GitBox <gi...@apache.org>.
gemmellr commented on a change in pull request #847:
URL: https://github.com/apache/qpid-dispatch/pull/847#discussion_r507874549



##########
File path: src/amqp.c
##########
@@ -96,6 +96,8 @@ const char * const QD_AMQPS_PORT_STR = "5671";
 
 const char * const QD_AMQP_DFLT_PROTO = "tcp";
 
+const int PN_AMQP_MAX_SESSION_CAPACITY_32BIT = 2147483647;

Review comment:
       Was it checked if this 2^31-1 value is actually the the limit? I commented before that prior discussion suggested it might not be though it needed verified:
   
   > Also though, if I'm remembering the last discussion of this, the value is unsigned and so wouldnt that make the configurable limit here 2^32 -1 instead really?
   
   Seperately, should it be PN_<foo> if its being defined by Dispatch? It may be about a Proton setting, but its still a Dispatch constant. Also nothing else here or in the include file seems to use anything except QD_




----------------------------------------------------------------
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:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


[GitHub] [qpid-dispatch] ganeshmurthy commented on a change in pull request #847: DISPATCH-1751: Rework how AMQP session incoming-window is derived

Posted by GitBox <gi...@apache.org>.
ganeshmurthy commented on a change in pull request #847:
URL: https://github.com/apache/qpid-dispatch/pull/847#discussion_r492163426



##########
File path: src/connection_manager.c
##########
@@ -438,25 +438,37 @@ static qd_error_t load_server_config(qd_dispatch_t *qd, qd_server_config_t *conf
         config->max_frame_size = QD_AMQP_MIN_MAX_FRAME_SIZE;
 
     //
-    // Given session frame count and max frame size compute session incoming_capacity
+    // Given session frame count and max frame size, compute session incoming_capacity
+    //   On 64-bit systems the capacity has no limit.
+    //   On 32-bit systems the largest capacity is AMQP_MAX_WINDWOW_SIZE.
     //
-    if (ssn_frames == 0)
-        config->incoming_capacity = (sizeof(size_t) < 8) ? 0x7FFFFFFFLL : 0x7FFFFFFFLL * config->max_frame_size;
-    else {
-        uint64_t mfs      = (uint64_t) config->max_frame_size;
-        uint64_t trial_ic = ssn_frames * mfs;
-        uint64_t limit    = (sizeof(size_t) < 8) ? (1ll << 31) - 1 : 0;
-        if (limit == 0 || trial_ic < limit) {
-            // Silently promote incoming capacity of zero to one
-            config->incoming_capacity = 
-                (trial_ic < QD_AMQP_MIN_MAX_FRAME_SIZE ? QD_AMQP_MIN_MAX_FRAME_SIZE : trial_ic);
+    if (ssn_frames == 0) {

Review comment:
       Can we remove this empty if (ssn_frames == 0) check and instead just say if (ssn_frames != 0)




----------------------------------------------------------------
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:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


[GitHub] [qpid-dispatch] asfgit closed pull request #847: DISPATCH-1751: Rework how AMQP session incoming-window is derived

Posted by GitBox <gi...@apache.org>.
asfgit closed pull request #847:
URL: https://github.com/apache/qpid-dispatch/pull/847


   


----------------------------------------------------------------
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:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


[GitHub] [qpid-dispatch] gemmellr commented on a change in pull request #847: DISPATCH-1751: Rework how AMQP session incoming-window is derived

Posted by GitBox <gi...@apache.org>.
gemmellr commented on a change in pull request #847:
URL: https://github.com/apache/qpid-dispatch/pull/847#discussion_r492169846



##########
File path: src/connection_manager.c
##########
@@ -438,25 +438,37 @@ static qd_error_t load_server_config(qd_dispatch_t *qd, qd_server_config_t *conf
         config->max_frame_size = QD_AMQP_MIN_MAX_FRAME_SIZE;
 
     //
-    // Given session frame count and max frame size compute session incoming_capacity
+    // Given session frame count and max frame size, compute session incoming_capacity
+    //   On 64-bit systems the capacity has no limit.
+    //   On 32-bit systems the largest capacity is AMQP_MAX_WINDWOW_SIZE.
     //
-    if (ssn_frames == 0)
-        config->incoming_capacity = (sizeof(size_t) < 8) ? 0x7FFFFFFFLL : 0x7FFFFFFFLL * config->max_frame_size;
-    else {
-        uint64_t mfs      = (uint64_t) config->max_frame_size;
-        uint64_t trial_ic = ssn_frames * mfs;
-        uint64_t limit    = (sizeof(size_t) < 8) ? (1ll << 31) - 1 : 0;
-        if (limit == 0 || trial_ic < limit) {
-            // Silently promote incoming capacity of zero to one
-            config->incoming_capacity = 
-                (trial_ic < QD_AMQP_MIN_MAX_FRAME_SIZE ? QD_AMQP_MIN_MAX_FRAME_SIZE : trial_ic);
+    if (ssn_frames == 0) {

Review comment:
       I'd agree with the above being clearer.




----------------------------------------------------------------
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:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


[GitHub] [qpid-dispatch] gemmellr commented on a change in pull request #847: DISPATCH-1751: Rework how AMQP session incoming-window is derived

Posted by GitBox <gi...@apache.org>.
gemmellr commented on a change in pull request #847:
URL: https://github.com/apache/qpid-dispatch/pull/847#discussion_r492177861



##########
File path: src/connection_manager.c
##########
@@ -438,25 +438,37 @@ static qd_error_t load_server_config(qd_dispatch_t *qd, qd_server_config_t *conf
         config->max_frame_size = QD_AMQP_MIN_MAX_FRAME_SIZE;
 
     //
-    // Given session frame count and max frame size compute session incoming_capacity
+    // Given session frame count and max frame size, compute session incoming_capacity
+    //   On 64-bit systems the capacity has no limit.
+    //   On 32-bit systems the largest capacity is AMQP_MAX_WINDWOW_SIZE.
     //
-    if (ssn_frames == 0)
-        config->incoming_capacity = (sizeof(size_t) < 8) ? 0x7FFFFFFFLL : 0x7FFFFFFFLL * config->max_frame_size;
-    else {
-        uint64_t mfs      = (uint64_t) config->max_frame_size;
-        uint64_t trial_ic = ssn_frames * mfs;
-        uint64_t limit    = (sizeof(size_t) < 8) ? (1ll << 31) - 1 : 0;
-        if (limit == 0 || trial_ic < limit) {
-            // Silently promote incoming capacity of zero to one
-            config->incoming_capacity = 
-                (trial_ic < QD_AMQP_MIN_MAX_FRAME_SIZE ? QD_AMQP_MIN_MAX_FRAME_SIZE : trial_ic);
+    if (ssn_frames == 0) {
+        // Unlimited incoming frames.
+        // config->incoming_capacity is zero. Proton incoming_window is always AMQP_MAX_WINDOW_SIZE
+    } else {
+        // Limited incoming frames.
+        // Specify this to proton by setting capacity to be
+        // the product (max_frame_size * ssn_frames).
+
+        size_t capacity = config->max_frame_size * ssn_frames;
+        assert(capacity >= (size_t)QD_AMQP_MIN_MAX_FRAME_SIZE);

Review comment:
       The assert seems redundant if there is any verification of the actual max frame size setting..and if there isnt, maybe there should be? The ssn_frames is known to be non zero, and if its >=1 the assert cant trigger unless the frame size is illegal.
   
   Ah, unless the assert  is also trying to handle overflow in the capacity calculation? In which case it doesnt really do that very completely, just checks it isnt under max frame size.




----------------------------------------------------------------
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:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org