about summary refs log tree commit homepage
path: root/Documentation/lei_design_notes.txt
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2021-04-21 10:03:15 +0000
committerEric Wong <e@80x24.org>2021-04-21 23:51:58 +0000
commitba0c73ae03214e57004af4192b57141c1a0fff9f (patch)
tree87d2208d1ab98810e7058f6d95917054e55b626d /Documentation/lei_design_notes.txt
parent6b3ba59d4bfdf20507fd890df6ff1454a93435e4 (diff)
downloadpublic-inbox-ba0c73ae03214e57004af4192b57141c1a0fff9f.tar.gz
lei itself is a somewhat weird design, but lei/store is
a fairly normal hybrid of extindex with v2-style storage.
Diffstat (limited to 'Documentation/lei_design_notes.txt')
-rw-r--r--Documentation/lei_design_notes.txt20
1 files changed, 20 insertions, 0 deletions
diff --git a/Documentation/lei_design_notes.txt b/Documentation/lei_design_notes.txt
new file mode 100644
index 00000000..a5606c05
--- /dev/null
+++ b/Documentation/lei_design_notes.txt
@@ -0,0 +1,20 @@
+lei design notes
+----------------
+
+Daemon architecture
+-------------------
+
+The use of a persistent daemon works around slow startup time of
+Perl.  This is especially important for built-in support for
+shell completion.  It will eventually support inotify and EVFILT_VNODE
+background monitoring of Maildir keyword changes.
+
+If lei were reimplemented in a language with faster startup
+time, the daemon architecture would likely remain since it also
+lets us easily decouple the local storage from slow IMAP/NNTP
+backends and allow us to serialize writes to git-fast-import,
+SQLite, and Xapian across multiple processes.
+
+The coupling of IMAP and NNTP network latency to local storage
+is a current weakness of public-inbox-watch.  Therefore, -watch
+will likely adopt the daemon architecture of lei in the future.