Provided by: lei_1.8.0-1_all bug


       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 unlinked.


       Feedback welcome via plain-text mail to <>

       The mail archives are hosted at <> and


       Copyright all contributors <>

       License: AGPL-3.0+ <>


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