Commit Graph

196 Commits

Author SHA1 Message Date
c00d5c576b Followup updates for new epoll_instances design 2025-08-21 14:20:01 -04:00
1cce8d9950 Allow multiple epoll instances on server 2025-08-21 14:13:11 -04:00
22e638e1f9 One epoll instance per network thread in load tester 2025-08-21 14:04:23 -04:00
cb6660bdd8 Tinker with defaults to increase throughput 2025-08-21 13:01:56 -04:00
093e618b98 I'm not interested in EPOLLRDHUP 2025-08-21 13:01:42 -04:00
6e9d045b2b Fix broken pipe bug in client 2025-08-21 13:01:25 -04:00
c6ceb8745d Fix type confusion 2025-08-21 12:01:40 -04:00
cfddaddb31 Separate phases for processing existing and new connections 2025-08-21 11:58:10 -04:00
78a7549ce5 Remove HttpConnectionState::body 2025-08-21 11:56:00 -04:00
0b9310d560 Tune defaults for load tester a bit and remove "auto config" 2025-08-20 22:44:44 -04:00
130ff2062a Unify accept and network threads into io threads 2025-08-20 16:50:54 -04:00
7e28e6503d Probably going to merge accept and network threads 2025-08-20 16:24:09 -04:00
24a1157f0d Try writing once on connect thread 2025-08-20 15:47:20 -04:00
729fe5c033 Measure latency 2025-08-20 15:45:38 -04:00
4e7bede241 Use --requests-per-connection 2025-08-20 15:28:48 -04:00
60cda698c0 Don't copy every byte read into arena 2025-08-20 15:21:15 -04:00
7f4c024efa Shutdown network threads after connect threads
Fixes ctrl-c, which was previously hanging in sem_wait
2025-08-20 15:10:23 -04:00
e342229743 Try to write immediately after reading 2025-08-20 14:43:01 -04:00
4de9245ec7 Add forgotten file 2025-08-20 14:42:43 -04:00
abb47ee0c3 Accumulate headers properly 2025-08-20 14:10:39 -04:00
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