From rusty at rustcorp.com.au Mon May 23 21:26:00 2016 From: rusty at rustcorp.com.au (Rusty Russell) Date: Tue, 24 May 2016 06:56:00 +0930 Subject: [Lightning-dev] BOLT #2: wire protocol: YA acknowledgement change. In-Reply-To: References: <87k2itnoxu.fsf@rustcorp.com.au> Message-ID: <87mvng5uvr.fsf@rustcorp.com.au> Pierre writes: > I like it! Let's hope it will suit everyone and we can converge on > something soon. > > FWIW I was able to independently implement a toy version of the > protocol and pass your scripted tests [*] so I guess there are no > obvious issues (duh). Maybe it could be the first step towards a LN > nonreg test set? Great! That's a really good idea. Eventually I'd like to have some "canned conversations" to go with the BOLTs for testing against. > Just one thing about the "nocommitwait", I wonder why you make it > optional in your test: why would you forbid the sending of two > successive commits, given that the more permissive approach is > perfectly well defined? Because it's a little simpler if you don't let yourself do multiple in-flight commits. You only need one set of outstanding changes, rather than keeping them for every commit. This code makes doubly-sure that is true (it is true in my C implementation). > PS: what does YA mean? Yet Another. I found a pretty good description on Wikipedia: Among programmers, yet another (often abbreviated ya, Ya or YA in the initial part of an acronym) is an idiomatic qualifier in the name of a computer program, organisation, or event that is confessedly unoriginal. Stephen C. Johnson is credited with establishing the naming convention in the late 1970s when he named his compiler-compiler yacc (Yet Another Compiler-Compiler), since he felt there were already numerous compiler-compilers in circulation at the time. Cheers, Rusty.