about summary refs log tree commit homepage
path: root/Documentation
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2023-03-09 19:28:39 +0000
committerEric Wong <e@80x24.org>2023-03-10 01:12:24 +0000
commit8a5c0e6df2f0766bee847d3ce1134d7c9baac074 (patch)
treef88581be99864203f3886300aa86a6c8565f2be4 /Documentation
parent241fca57a16f8261f17be2ce84c4fce92182e0c7 (diff)
downloadpublic-inbox-8a5c0e6df2f0766bee847d3ce1134d7c9baac074.tar.gz
Hopefully this makes things less surprising to new hackers.
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/technical/weird-stuff.txt22
1 files changed, 22 insertions, 0 deletions
diff --git a/Documentation/technical/weird-stuff.txt b/Documentation/technical/weird-stuff.txt
new file mode 100644
index 00000000..0c8d6891
--- /dev/null
+++ b/Documentation/technical/weird-stuff.txt
@@ -0,0 +1,22 @@
+There's a lot of weird code in public-inbox which may be daunting
+to new hackers.
+
+* The event loop (PublicInbox::DS) is an evolution of a fairly standard
+  C10K event loop.  See ds.txt in this directory for more.
+
+Things got weirder in 2021:
+
+* The lei command-line tool is backed by a daemon.  This was done to
+  improve startup time for shell completion and manage git/SQLite/Xapian
+  single-writer during long, parallel imports.  It may eventually become
+  a read-write IMAP/JMAP server.
+
+* SOCK_SEQPACKET is used extensively in lei, and will likely make its
+  way into more places, still.
+
+And even more so in 2022:
+
+* public-inbox-clone / PublicInbox::LeiMirror relies on ->DESTROY
+  for make-like dependency management while providing parallelism.
+
+More to come, lei will expose Maildirs via FUSE 3...