I've gone back and forth about what the proper behavior should be for Proton 
re: idle timeout.

It's that darn pesky "SHOULD"...  which means 'recommended', not exactly 

So the current impl takes the conservative approach and assumes the peer may 
have advertised the actual timeout (e.g. not half).

To prevent spurious timeouts, idle frames are sent (if necessary) at 
(timeout)/2 since the last transmitted frame.  Sending at exactly (timeout) 
risks missing the peer's timeout if they did not advertise half their actual 
timeout.  This allows proton to be liberal in respects to how the peer may have 
implemented idle time, at the expense of potentially doubling the idle frame 
transmission rate.  I feel this is a justifiable tradeoff in an effort to keep 
connections up in the face of different interpretations of the spec.

As far as the local setting is concerned, the API doesn't indicate that the 
value supplied by the application should be half the actual timeout.   In other 
words, users of the API should expect their specified timeout to be used as 
given, not doubled (unless we expect users of the API to be experts on the 
standard, which I didn't think was the case).   Currently, proton does 
advertise 1/2 of this value, so proton is in fact following the recommendation 
in the spec.


----- Original Message -----
> From: "Dominic Evans" <dominic.ev...@uk.ibm.com>
> To: proton@qpid.apache.org
> Sent: Wednesday, April 1, 2015 7:46:06 AM
> Subject: Re: Idle Timeout of a Connection
> -----Rafael Schloming <r...@alum.mit.edu> wrote: -----
> > On Wed, Apr 1, 2015 at 6:00 AM, Dominic Evans <dominic.ev...@uk.ibm.com>
> > wrote:
> >> 2.4.5 Idle Timeout Of A Connection
> >>
> >> Thoughts?
> >>
> >
> > I believe your interpretation is correct. I've certainly noticed idle
> > frames
> > being sent significantly more often than I would have expected, but I
> > haven't
> > had time to dig into the cause.
> OK good. I'll put together the changes and submit them via a JIRA + PR.
> Cheers,
> Dom
> --
> Unless stated otherwise above:
> IBM United Kingdom Limited - Registered in England and Wales with number
> 741598.
> Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU


Reply via email to