Fix "YesHandler" in design.md

This commit is contained in:
2025-08-19 16:04:20 -04:00
parent 450bf6dbf1
commit b843e1d5a2

View File

@@ -414,20 +414,21 @@ private:
class YesHandler : public ConnectionHandler {
public:
void on_connection_established(Connection &conn) override {
// Start writing immediately
on_write_progress(conn);
// Write an initial "y\n"
conn.appendMessage("y\n");
}
void on_write_progress(std::unique_ptr<Connection> &conn_ptr) override {
void on_write_progress(std::unique_ptr<Connection> &conn) override {
if (conn->outgoingBytesQueued() == 0) {
// Don't use an unbounded amount of memory
conn->reset();
// Write "y\n" repeatedly
if (conn_ptr->outgoingBytesQueued() == 0)
conn_ptr->appendMessage("y\n");
conn->appendMessage("y\n");
}
}
};
```
### Arena-Based String Handling
```cpp
// Preferred: Zero-copy string view with arena allocation