]> git.ipfire.org Git - thirdparty/public-inbox.git/commitdiff
doc: technical: document weird stuff in our codebase
authorEric Wong <e@80x24.org>
Thu, 9 Mar 2023 19:28:39 +0000 (19:28 +0000)
committerEric Wong <e@80x24.org>
Fri, 10 Mar 2023 01:12:24 +0000 (01:12 +0000)
Hopefully this makes things less surprising to new hackers.

Documentation/technical/weird-stuff.txt [new file with mode: 0644]
MANIFEST

diff --git a/Documentation/technical/weird-stuff.txt b/Documentation/technical/weird-stuff.txt
new file mode 100644 (file)
index 0000000..0c8d689
--- /dev/null
@@ -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...
index 7437bb547eb40f51dfe036376817a94f438bd4e2..bc652e219d37f23f12b70314735ee26993784bad 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -99,6 +99,7 @@ Documentation/standards.perl
 Documentation/technical/data_structures.txt
 Documentation/technical/ds.txt
 Documentation/technical/memory.txt
+Documentation/technical/weird-stuff.txt
 Documentation/technical/whyperl.txt
 Documentation/txt2pre
 HACKING