Commit e9f5c6f
authored
chore: refactor speaker & handshaker into actors (#15)
Instead of relying on class inheritance, the new Speaker can composed into whatever would like to speak the CoderVPN protocol, and messages can be handled by iterating over the speaker itself e.g:
```swift
enum IncomingMessage {
case message(RecvMsg)
case RPC(RPCRequest<SendMsg, RecvMsg>)
}
```
```swift
for try await msg in speaker {
switch msg {
case let .message(msg):
// Handle message that doesn't require a response
case let .RPC(req):
// Handle incoming RPC
}
}
```1 parent ae65c20 commit e9f5c6f
File tree
3 files changed
+81
-118
lines changed- Coder Desktop
- ProtoTests
- Proto
3 files changed
+81
-118
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
57 | 57 | | |
58 | 58 | | |
59 | 59 | | |
60 | | - | |
| 60 | + | |
61 | 61 | | |
62 | 62 | | |
63 | 63 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
| 9 | + | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
52 | | - | |
53 | | - | |
| 52 | + | |
| 53 | + | |
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
| |||
93 | 93 | | |
94 | 94 | | |
95 | 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 | | - | |
121 | | - | |
122 | | - | |
123 | | - | |
124 | | - | |
125 | | - | |
126 | | - | |
127 | | - | |
128 | | - | |
129 | | - | |
130 | | - | |
131 | | - | |
132 | | - | |
133 | 96 | | |
134 | 97 | | |
135 | 98 | | |
| |||
166 | 129 | | |
167 | 130 | | |
168 | 131 | | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
169 | 167 | | |
170 | 168 | | |
171 | | - | |
172 | | - | |
| 169 | + | |
| 170 | + | |
173 | 171 | | |
174 | 172 | | |
175 | 173 | | |
| |||
193 | 191 | | |
194 | 192 | | |
195 | 193 | | |
196 | | - | |
197 | | - | |
198 | | - | |
199 | | - | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
200 | 200 | | |
201 | 201 | | |
202 | 202 | | |
203 | 203 | | |
204 | 204 | | |
205 | 205 | | |
206 | | - | |
| 206 | + | |
207 | 207 | | |
208 | 208 | | |
209 | 209 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 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 | 5 | | |
45 | 6 | | |
46 | 7 | | |
47 | 8 | | |
48 | | - | |
| 9 | + | |
49 | 10 | | |
50 | 11 | | |
51 | 12 | | |
52 | 13 | | |
53 | 14 | | |
54 | 15 | | |
55 | 16 | | |
56 | | - | |
| 17 | + | |
57 | 18 | | |
58 | 19 | | |
59 | 20 | | |
| |||
79 | 40 | | |
80 | 41 | | |
81 | 42 | | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
90 | 52 | | |
91 | | - | |
| 53 | + | |
92 | 54 | | |
93 | | - | |
94 | 55 | | |
95 | 56 | | |
96 | 57 | | |
97 | | - | |
98 | | - | |
99 | | - | |
100 | | - | |
101 | | - | |
102 | | - | |
103 | | - | |
104 | | - | |
105 | | - | |
106 | | - | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
107 | 69 | | |
108 | | - | |
109 | | - | |
| 70 | + | |
| 71 | + | |
110 | 72 | | |
111 | 73 | | |
112 | 74 | | |
113 | | - | |
114 | | - | |
| 75 | + | |
| 76 | + | |
115 | 77 | | |
116 | 78 | | |
117 | 79 | | |
| |||
122 | 84 | | |
123 | 85 | | |
124 | 86 | | |
125 | | - | |
126 | 87 | | |
127 | 88 | | |
128 | 89 | | |
129 | | - | |
130 | | - | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
131 | 94 | | |
132 | 95 | | |
133 | 96 | | |
| |||
148 | 111 | | |
149 | 112 | | |
150 | 113 | | |
151 | | - | |
| 114 | + | |
152 | 115 | | |
153 | 116 | | |
154 | | - | |
| 117 | + | |
155 | 118 | | |
156 | 119 | | |
0 commit comments