LEI-DAEMON(8)              public-inbox user manual              LEI-DAEMON(8)

       lei-daemon - technical information for local email interface daemon

       This documentation is a high-level overview for developers and
       administrators interested in how lei works.

       lei-daemon is a background daemon which powers the lei(1) command-line
       tool.  It may support virtual users and read-write IMAP+JMAP APIs in
       the future.  It is designed to optimize shell completion by avoiding
       module loading costs, monitor Maildirs (and in the near future, IMAP
       folders) for changes.

   worker processes
       Most commands cause lei-daemon to fork(2) new worker processes to
       isolate and parallelize work.  lei-daemon is significantly more
       aggressive than read-only public-inbox-daemon(8) processes with regards
       to resource use since it's not designed to support C10K/C100K

   file descriptor passing
       FD passing is used to reduce IPC costs for bulk I/O when importing
       large mboxes from stdin and dumping large mboxes to stdout.

       SOCK_SEQPACKET sockets are used for both communicating with lei(1) and
       to internal workers.  SOCK_SEQPACKET guarantees reliability (unlike
       SOCK_DGRAM), allows easy load distribution, and saves developers the
       trouble of maintaining stream parsers.

   file monitoring
       Inotify or EVFILT_VNODE is used depending on the platform to monitor
       Maildirs for changes and track keyword changes.

       The listen socket (default: "$XDG_RUNTIME_DIR/lei/5.seq.sock") is also
       monitored, and the daemon will automatically shutdown if it is

       Feedback welcome via plain-text mail to <mailto:meta@public-inbox.org>

       The mail archives are hosted at <https://public-inbox.org/meta/> and

       Copyright all contributors <mailto:meta@public-inbox.org>

       License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>

       lei-overview(7), lei-daemon-kill(1), lei-daemon-pid(1)

public-inbox.git                  1993-10-02                     LEI-DAEMON(8)