On 1 March 2017 at 18:49, Gordon Sim <g...@redhat.com> wrote: > On 01/03/17 17:19, Robbie Gemmell wrote: > >> How did you know they had actually stopped or that it was then safe to >> flow them new credit, just waiting for a while? >> >> If you flow new credit before the link is actually stopped you need to >> cope with that fairly specifically in case they hadnt really stopped. >> > > > >> There is scope for things to get out of whack otherwise, on both ends, >> as they need to carefully handle the delivery-count and credit based >> on what occurs and whether they have already exceeded the previous >> allowances or not when the updates get sent/arrive. >> > > The link credit is an absolute value. Setting it to 0 then to some other > value should be no different that e.g. setting it to 100, then resetting it > to 200 before the first flow is known to have been processed by the sender. > The latest value indicated by the receiver is the valid value. > > > The link credit is an absolute value on the wire... but proton presents it in relative terms. If you had 500 units of credit outstanding and flow(-500) and then flow(2), and you get 5 messages on the wire arriving after that point... what state is your link credit in in Proton? Does it make a difference if those 5 messages had been processed by Proton (but not received by the application) before the flow(2) was sent or not?
-- Rob > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org > For additional commands, e-mail: users-h...@qpid.apache.org > >