1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
//! What:
//! The resident commit service:
//! protocol,
//! server,
//! client,
//! journal,
//! provisioning and logging.
//! Why:
//! The service is a second program with its own life.
//!
//! In TS you'd write (pseudocode):
//! ```ts
//! // service/index.ts: one `export * from './file'` per module below.
//! ```
/// Messages between the wrapper and the resident commit service.
/// The longest the wrapper waits for each thing it waits for, with the measurement beside each number.
/// What the one landing thread is doing, shared with the threads that talk to waiting clients.
/// The connection of one waiting client, answered by the landing thread and kept alive by a beat from the reading thread.
/// The commit service's journal and its restart decisions.
/// Test-only fault points of the commit service.
/// The native journal protocol and the standard error fallback the service's entries go through.
/// The lines the commit service writes about its life and about the time each request took.
/// The line the commit service writes when a signal ends it.
/// The commit service's loop.
/// The wrapper's side of a commit through the commit service.
/// The wrapper's own provisioning of the commit service's socket activation.
/// A minimal D-Bus client for the user session bus, for the provisioning's two calls.
/// Which commit service instance belongs to a worktree: its name, socket and unit instances.
/// One entry from the wrapper a person ran to the journal, sent without waiting.
/// The service's handler for a review work item, bounded by a call deadline and a total budget.
/// The standards-review credential: redacted when printed, read from the wrapper's environment, sent in the work message.