From: Ian Jackson Date: Sat, 22 May 2010 23:50:06 +0000 (+0100) Subject: Add rationale X-Git-Tag: innduct-0.1~5 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=commitdiff_plain;ds=sidebyside;h=88f4848a680707810f21f468051e471b907cfbcf;p=innduct.git Add rationale --- diff --git a/RATIONALE b/RATIONALE new file mode 100644 index 0000000..17b73ad --- /dev/null +++ b/RATIONALE @@ -0,0 +1,21 @@ +Why not innfeed ? + +Two reasons: + +1. innfeed is not reliable[1]. In particular, the program feed + protocol spoken between innd and innfeed is lossy: if innfeed dies + unexpectedly, articles which innd has written to the pipe to + innfeed will be skipped. innd has no way of telling which articles + those are, no useful records, and no code to retry. I can see no + sensible way to solve this problem without using a different + approach to getting articles from innd. + + [1] By "reliable" I mean that articles will be propagated unless + either (a) there is some deliberate policy or technical reason + why they are not or (b) transient problems prevent the + propagation from succeeding before the article expires. + +2. Why not just edit innfeed ? Well, innfeed is an very large program + for what it does - nearly 25kloc. + +So I set out to write something similar but smaller and reliable.