Commit Graph

326 Commits

Author SHA1 Message Date
8ccb02f450 We don't want to close the connection on EPOLLRDHUP
We'll rely on the errors from reads and writes to close the connections
2025-08-20 14:09:39 -04:00
cf692e71ef Perfetto tracing for /ok. Header parsing not complete 2025-08-20 12:19:20 -04:00
972d87b12e Organize design.md 2025-08-20 11:56:48 -04:00
0e885f1ff1 Perfetto tracing in load tester 2025-08-20 11:36:02 -04:00
dac3e5dc59 Vendor perfetto dependency 2025-08-20 11:30:42 -04:00
1b09e971bc Print load tester config 2025-08-20 11:23:43 -04:00
a5183c3dbf Always use ninja 2025-08-20 11:23:26 -04:00
5d5d8bc495 Add cli options to load tester 2025-08-20 11:13:13 -04:00
4b907819dc Match server's epoll usage a bit better 2025-08-20 10:57:04 -04:00
cf9598a568 Remove duplicate __has_feature check 2025-08-20 10:41:54 -04:00
a20b61ec56 Small tweaks to new load tester 2025-08-20 10:40:29 -04:00
339e9c6bec WIP 2025-08-20 09:32:52 -04:00
4044f0a871 Add unix socket listening mode 2025-08-19 17:57:07 -04:00
800d8cb6b0 Add TODO for enforcing max_request_size_bytes 2025-08-19 17:33:21 -04:00
b7282a2f03 Add thread safety documentation 2025-08-19 17:20:36 -04:00
b8d735f074 Initial http implementation 2025-08-19 17:20:18 -04:00
ee32b64c02 Make empty default on_data_arrived implementation 2025-08-19 16:05:04 -04:00
b017c6b209 We still want to "write" empty messages
So that the size of the messages queue can go to zero
2025-08-19 16:04:44 -04:00
b843e1d5a2 Fix "YesHandler" in design.md 2025-08-19 16:04:20 -04:00
450bf6dbf1 Add Connection::reset
There was an issue where the connection deque was referring to old arena memory
2025-08-19 16:03:33 -04:00
05e22fbac2 Add batching handler and streaming handler examples 2025-08-19 15:39:10 -04:00
6b7cc74a7c Add ConnectionHandler::on_post_batch 2025-08-19 15:28:17 -04:00
33fd8bb705 Update realloc_raw docstring 2025-08-19 14:31:42 -04:00
ecfb7f3307 Add on_write_progress 2025-08-19 14:23:17 -04:00
c95aecfe8c Add the rest of the endpoints to design.md 2025-08-19 14:03:49 -04:00
30d22f7a18 Add server sent events design TODO 2025-08-19 14:03:35 -04:00
45172ae182 Remove http.md 2025-08-19 14:03:22 -04:00
08f3454965 Clarify ConnectionHandler documentation 2025-08-19 13:50:49 -04:00
0d688d9ce9 Optionally skip copying into connection arena for appendMessage 2025-08-19 13:44:16 -04:00
455ab749a6 Remove ProcessResult 2025-08-19 13:41:26 -04:00
e832d8419c Remove accidentally checked in file 2025-08-19 13:36:22 -04:00
5bfa20643a Update design.md 2025-08-19 13:33:31 -04:00
cb322bbb2b Separate Connection, ConnectionHandler, Server 2025-08-19 13:23:18 -04:00
addac1b0b7 Recommended epoll/tcp options 2025-08-19 12:27:03 -04:00
499de3837a Add .clangd 2025-08-19 12:23:27 -04:00
91dcf04635 Configurable read buffer size 2025-08-19 12:20:56 -04:00
2b458747f8 Use writev 2025-08-19 12:04:13 -04:00
5dc800a088 Add Connection::arena 2025-08-19 11:51:44 -04:00
1141251002 Improve accuracy in http.md 2025-08-18 16:46:25 -04:00
3a874b0acf Add llhttp dependency 2025-08-18 16:46:06 -04:00
e704c261cb Use a pipe instead of an eventfd 2025-08-18 16:35:33 -04:00
0e49025c0e Consolidate config docs in config.md, update file references 2025-08-18 16:13:08 -04:00
53fce46283 Descriptive name for thread index 2025-08-18 16:01:41 -04:00
8b18c5fde9 More error handling
Handle epoll_ctl errors by closing the connection
2025-08-18 15:59:35 -04:00
141ae823ab Improve some error handling
Handle EINTR in signal handler
Handle getListenFd errors by trying the next address
2025-08-18 15:57:03 -04:00
5bc78577c6 Add safety comments 2025-08-18 15:50:50 -04:00
368ec721d5 Full pass over src/main.cpp 2025-08-18 15:43:45 -04:00
8ef118a17d Shutdown fd 2025-08-18 15:21:45 -04:00
715941c0d3 Max connection limit 2025-08-18 14:48:01 -04:00
9f4547d9f7 Validate config 2025-08-18 14:13:54 -04:00