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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
//! **How a channel ended, and who ended it** (yog's `docs/REMOTE.md` §3, §5.1;
//! DESIGN §3.8) — the classification, kept apart from the conversation that
//! produces it because they are two questions: what happened, and what to do
//! about it.
//!
//! **The decision is drawn from who failed and at which leg, never from the
//! engine's prose.** A foot that decided its own lifetime by reading sentences
//! would be a foot the far end could rewrite by rewording.
//!
//! **Three parties can fail a gesture and the split between them is the whole
//! of this file.** The wire has no opinion of either binary. The engine can
//! say no, and whether that is worth asking again is the LEG's answer. And the
//! two binaries themselves can disagree about the protocol, which is the one
//! failure that is not about this conversation at all: REMOTE §3 states that a
//! mismatch has no negotiation and names the remedy — *"upgrade the older
//! component"* — so a foot that dialled again would spend a handshake a minute
//! to be told the same thing until somebody installed a new binary (bl-5d62).
use Held;
use crateFailure;
/// **How a channel ended, and whether taking it up again could help.**
///
/// The distinction is drawn from **who failed and at which leg**, never from
/// the engine's prose: a foot that decided its own lifetime by reading
/// sentences would be a foot the far end could rewrite by rewording.
pub
/// **A gesture that did not land, by who failed** — which is the whole of what
/// the ending turns on, and the one thing the engine's own sentence cannot be
/// asked for.
pub
/// Which gesture was in flight, which is the whole of what decides a refusal.
pub