]> Sergey Matveev's repositories - public-inbox.git/blob - Documentation/lei_design_notes.txt
doc: add lei_design_notes.txt and lei-store-format(5)
[public-inbox.git] / Documentation / lei_design_notes.txt
1 lei design notes
2 ----------------
3
4 Daemon architecture
5 -------------------
6
7 The use of a persistent daemon works around slow startup time of
8 Perl.  This is especially important for built-in support for
9 shell completion.  It will eventually support inotify and EVFILT_VNODE
10 background monitoring of Maildir keyword changes.
11
12 If lei were reimplemented in a language with faster startup
13 time, the daemon architecture would likely remain since it also
14 lets us easily decouple the local storage from slow IMAP/NNTP
15 backends and allow us to serialize writes to git-fast-import,
16 SQLite, and Xapian across multiple processes.
17
18 The coupling of IMAP and NNTP network latency to local storage
19 is a current weakness of public-inbox-watch.  Therefore, -watch
20 will likely adopt the daemon architecture of lei in the future.