From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.1 required=3.0 tests=ALL_TRUSTED,AWL,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF shortcircuit=no autolearn=ham autolearn_force=no version=3.4.6 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 33FCD1F47D for ; Thu, 9 Mar 2023 19:28:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=80x24.org; s=selector1; t=1678390123; bh=5WYPyh+mV1Z/X5lozrnmDTvRAZBWvTIMI/+RXcQMowM=; h=From:To:Subject:Date:In-Reply-To:References:From; b=Wb0vjf6Uy71HWvyn55OOoqW+KnvO37NgGT/T5nfk1mLSHzkiuYxnTeDWYEIS9WR2W 5mk+v0sTNzS0YrMSrWrQiai5rZ7Tc7XtB/5velmJcABwztRT5nwjh4kOt5dXLa42C5 kp3H2YWIdMwgyBBTTrek4m8mnp89ZdlwzYRCCTN4= From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 3/6] doc: technical: document weird stuff in our codebase Date: Thu, 9 Mar 2023 19:28:39 +0000 Message-Id: <20230309192842.625820-4-e@80x24.org> In-Reply-To: <20230309192842.625820-1-e@80x24.org> References: <20230309192842.625820-1-e@80x24.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: Hopefully this makes things less surprising to new hackers. --- Documentation/technical/weird-stuff.txt | 22 ++++++++++++++++++++++ MANIFEST | 1 + 2 files changed, 23 insertions(+) create mode 100644 Documentation/technical/weird-stuff.txt 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... diff --git a/MANIFEST b/MANIFEST index 7437bb54..bc652e21 100644 --- 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