diff options
Diffstat (limited to 'docs/adr')
| -rw-r--r-- | docs/adr/0001-testable-client-server-cores.md | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/docs/adr/0001-testable-client-server-cores.md b/docs/adr/0001-testable-client-server-cores.md index 2e3cd1e..c19c01a 100644 --- a/docs/adr/0001-testable-client-server-cores.md +++ b/docs/adr/0001-testable-client-server-cores.md | |||
| @@ -16,10 +16,12 @@ exercised from `tests/`. | |||
| 16 | - The library (`src/lib.rs`) owns shared logic. `src/bin/client` and | 16 | - The library (`src/lib.rs`) owns shared logic. `src/bin/client` and |
| 17 | `src/bin/server` are thin adapters for crossterm, TLS, environment variables, | 17 | `src/bin/server` are thin adapters for crossterm, TLS, environment variables, |
| 18 | and interactive prompts. | 18 | and interactive prompts. |
| 19 | - `client::core::ClientCore` owns input, history, commands, game state, and | 19 | - `client::core::ClientCore` owns commands, game state, the current screen, and |
| 20 | pending replies. It returns `Effect`s (`Print`, `ReplaceRegion`, `ClearRegion`, | 20 | pending replies. It returns `Effect`s (`Print`, `Render(View)`, `ClearRegion`, |
| 21 | `SetPrompt`, `SendLine`, `Interactive`, ...). The binary applies them; the | 21 | `SendLine`, `Disconnect`, `Quit`). The binary applies them; the tests apply |
| 22 | tests apply them to a headless screen. | 22 | them to a headless screen. The prompt buffer, history and key mapping live in |
| 23 | `client::input`, and `client::shell` parses a finished line, so the core never | ||
| 24 | sees a `Key` or a raw command line. | ||
| 23 | - `server::core::ServerCore` owns message handling and receives an injected | 25 | - `server::core::ServerCore` owns message handling and receives an injected |
| 24 | `Connection`, `GameRegistry`, and bcrypt cost. The binary only owns the TLS | 26 | `Connection`, `GameRegistry`, and bcrypt cost. The binary only owns the TLS |
| 25 | listener and per-connection thread. | 27 | listener and per-connection thread. |
