chiark / gitweb /
Add rationale
authorIan Jackson <ian@liberator.relativity.greenend.org.uk>
Sat, 22 May 2010 23:50:06 +0000 (00:50 +0100)
committerIan Jackson <ian@liberator.relativity.greenend.org.uk>
Sat, 22 May 2010 23:50:06 +0000 (00:50 +0100)
RATIONALE [new file with mode: 0644]

diff --git a/RATIONALE b/RATIONALE
new file mode 100644 (file)
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.