Robbie Gemmell created PROTON-968:
-------------------------------------

             Summary: [proton-j] channel-max handling is broken
                 Key: PROTON-968
                 URL: https://issues.apache.org/jira/browse/PROTON-968
             Project: Qpid Proton
          Issue Type: Bug
          Components: proton-j
    Affects Versions: 0.10
            Reporter: Robbie Gemmell


The channel-max handling in proton-j is broken.

Transport[Impl] defines get/setChannelMax methods, which allow controlling the 
value sent in the Open frame emmitted for the connection. It defaults to the 
maximum 65535.

The ConnectionImpl object has a getMaxChannels method that returns a hard coded 
value of 65535, and it is this limit value that is used by TransportImpl when 
selecting local channel numbers for sending Begin frame for new sessions. As 
such, it pays no notice of the limit value it announced in its Open frame, 
which may have been lower if configured on the transport.

The remote channel-max receiver from the peer isn't used at all other than for 
return via getRemoteChannelMax(). The above process will similarly pay it no 
attention to it when selecting channel numbers for new sessions and so may 
select a channel number above the remote peers limit [and perhaps also its own, 
again].



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to