GitHub user gemmellr opened a pull request:

    PROTON-936 session outgoing window handling

    As discussed on the mailing lists [1], proton currently sets the outgoing 
window to 0 in most cases (except when using Messenger), but then sends 
messages anyway if allowed by the current remote-outgoing-window. This means it 
is typically violating the advertised window. Additionally, Service Bus uses 
the outgoing window to initialise its incoming window, which means it is set to 
0 and we can never send it any messages.
    This is an initial attempt at an update based on the discussions. It sets 
the outgoing window to a fixed default value of max int, and adds a setter to 
allow users of the engine to adjust it. Mainly looking for feedback on the 
approach and whether I have committed any atrocities on the C/python side, as I 
basically cut and paste all of those changes after grep'ing use of other 
    There is a basic test that the default exists and the getter+setter work, 
but that is all as we dont actually use the [remote] outgoing window for 
anything in proton currently so seems to be no way to inspect things.

You can merge this pull request into a Git repository by running:

    $ git pull PROTON-936_session_window

Alternatively you can review and apply these changes as the patch at:

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #42
commit d7499a11b0aa6b73f85517c03fe2af18a50b77cc
Author: Robert Gemmell <>
Date:   2015-07-07T10:17:58Z

    PROTON-936: make session outgoing window size configurable, default to max 

commit 808e99c865df6d94b15d3b9e78223bd46cd95e04
Author: Robert Gemmell <>
Date:   2015-07-07T11:00:14Z

    PROTON-936: initial c&p attempt at adding configurable session outgoing 
window to proton-c

commit 33d69fc6a14948fbfcd46e080ffc0bd878e44bc4
Author: Robert Gemmell <>
Date:   2015-07-07T13:02:23Z

    PROTON-936: add a basic python test of the get/set methods


If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at or file a JIRA ticket
with INFRA.

Reply via email to