Uploaded image for project: 'Qpid Proton'
  1. Qpid Proton
  2. PROTON-796

support reducing credit [as a means to stop a link without drain]




      It would be useful if there was full support for reducing crdit on a link, perhaps even to 0 as a means of stopping it.

      Currently the way to stop a link [and determine that it has actually stopped] would be to issue a 'drain' flow request and then handle either a flow response or arriving messages resulting in credit reaching 0.

      Using drain in this way effectively acts as request for any more messages to be sent by the peer using remaining credit if it already could have but had yet to do so. In contrast, the peer wishing to stop the link might prefer those messages actually not be sent, as it is indicating it doesnt want those messages currently. This could be possible by reducing credit on the link to 0, and requesting the updated state be echo'd as shown at [1], though this would require PROTON-795 be resolved.

      It may currently be possible to fiddle with credit and drain handling (e.g 'adding or 'drain'ing negative credit) to simulate this currently, however it isnt clear that the resulting behaviour would be desirable, given the impact of any message already in-flight from the peer before it receives the credit-reducing flow which might lead to situations like negative-credit.

      [1] http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-transport-v1.0-os.html#doc-idp429232




            • Assignee:
              robbie Robbie Gemmell
            • Votes:
              0 Vote for this issue
              1 Start watching this issue


              • Created: