1LEI-DAEMON(8) public-inbox user manual LEI-DAEMON(8)
2
3
4
6 lei-daemon - technical information for local email interface daemon
7
9 This documentation is a high-level overview for developers and
10 administrators interested in how lei works.
11
12 lei-daemon is a background daemon which powers the lei(1) command-line
13 tool. It may support virtual users and read-write IMAP+JMAP APIs in
14 the future. It is designed to optimize shell completion by avoiding
15 module loading costs, monitor Maildirs (and in the near future, IMAP
16 folders) for changes.
17
18 worker processes
19 Most commands cause lei-daemon to fork(2) new worker processes to
20 isolate and parallelize work. lei-daemon is significantly more
21 aggressive than read-only public-inbox-daemon(8) processes with regards
22 to resource use since it's not designed to support C10K/C100K
23 scenarios.
24
25 file descriptor passing
26 FD passing is used to reduce IPC costs for bulk I/O when importing
27 large mboxes from stdin and dumping large mboxes to stdout.
28
29 SOCK_SEQPACKET
30 SOCK_SEQPACKET sockets are used for both communicating with lei(1) and
31 to internal workers. SOCK_SEQPACKET guarantees reliability (unlike
32 SOCK_DGRAM), allows easy load distribution, and saves developers the
33 trouble of maintaining stream parsers.
34
35 file monitoring
36 Inotify or EVFILT_VNODE is used depending on the platform to monitor
37 Maildirs for changes and track keyword changes.
38
39 The listen socket (default: "$XDG_RUNTIME_DIR/lei/5.seq.sock") is also
40 monitored, and the daemon will automatically shutdown if it is
41 unlinked.
42
44 Feedback welcome via plain-text mail to <mailto:meta@public-inbox.org>
45
46 The mail archives are hosted at <https://public-inbox.org/meta/> and
47 <http://4uok3hntl7oi7b4uf4rtfwefqeexfzil2w6kgk2jn5z2f764irre7byd.onion/meta/>
48
50 Copyright all contributors <mailto:meta@public-inbox.org>
51
52 License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
53
55 lei-overview(7), lei-daemon-kill(1), lei-daemon-pid(1)
56
57
58
59public-inbox.git 1993-10-02 LEI-DAEMON(8)