Subject: Re: [manet] DLEP-17: timers not clearly defined

From: Rick Taylor <[email-masked]>
Date: Wed, 9 Mar 2016 10:10:21 +0000

Continued, comments inline...

On 24/11/15 15:26, RJ Atkinson wrote:
>
> The current specification seems to define (at least) two timers:
> 	- Peer Discovery Timer (Appendix A)
> 	- Heartbeat Timer (Section 5.3.1 & 10.5)
>
> However, these are implicitly defined, rather than being explicitly
> defined.  Further, the Peer Discovery Timer is defined in an
> Appendix, not in the main body of the specification.
>
>
> REQUEST:  Please add a new Section named “Timers”.
>
> It can be short, but it ought to define each timer that an implementation
> ought to have, the semantics of each timer, the units (seconds ?) of each
> timer, and pointers to the parts of the draft that define when/where/how
> to use the timer(s).
>

We think we have addressed the general comments around heartbeats, but 
there is still the Discovery Timer.  Currently we believe this is an 
implementation issue and does not need to be explicitly defined in the text.

If the WG consensus thinks otherwise, I agree it isn't a major change to 
add some normative text.

This is therefore an open question to the WG...

On to the next mail.

Rick

---

From: Randal Atkinson <[email-masked]>
Date: Thu, 10 Mar 2016 15:24:26 -0500

> On 9Mar2016, at 05:10, Rick Taylor <[email-masked]> wrote:
> 

Based on DLEP-17, I think we need at least a description of the Discovery Timer 
and also conceptually where/how it fits into an implementation.  If the timer is optional, 
that would be OK provided the text said it was optional (i.e., don’t make an
reader guess what the specification means, that road leads to non-interoperability).  

At a high-level, any timer that an implementation needs to have — or timer
that is mentioned in the specification — should be clearly documented.
Now in some cases, that timer might have very precise normative text
(timer than runs for X ms, then behavior Y happens).  In other cases, that
timer might have less precise normative text — leaving some details of  
that timer’s implementation up to the implementer.    Please don’t make
an implementer guess about whether the timer exists, why it exists,
or how it relates to the rest of the DLEP implementation.

The implementer needs to be able to create a fully interoperable
implementation just from reading the specification, so any timer that is 
either required or mentioned needs to be clearly described (even if some
implementations details of a given timer are left to the implementer).

Yours,

Ran