Commit Graph

118 Commits

Author SHA1 Message Date
12d4289568 Add an index to thread pipeline iterators for load balancing 2025-08-22 16:32:48 -04:00
f43e623a7e Add one stage pipeline to /ok 2025-08-22 14:28:17 -04:00
ce7e596836 More cleanup 2025-08-22 13:52:32 -04:00
815e6c065a Minor tidying and cleanup 2025-08-22 13:36:17 -04:00
1a85e91113 Add test for releasing connections back to the server 2025-08-22 13:10:26 -04:00
0e63d5e80f Have Server take list of listen fds and add createLocalConnection 2025-08-22 12:01:00 -04:00
ba3258ab16 Fix some issues with transferring conn back to server 2025-08-22 10:51:24 -04:00
1d86f48d5e Stash fd in epoll_event instead of pointer in server 2025-08-21 22:12:13 -04:00
5e8fe590c1 Move activeConnections to Server 2025-08-21 21:55:19 -04:00
9ee23fdc46 Simplify connection registry 2025-08-21 19:53:18 -04:00
d1b1e6d589 Connection registry
Now we can use leak sanitizer. Yay!
2025-08-21 18:09:36 -04:00
810b5e006d Remove misleading comment 2025-08-21 15:31:15 -04:00
60802043c7 Make the default for epoll_instances io_threads/2 2025-08-21 14:38:38 -04:00
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
093e618b98 I'm not interested in EPOLLRDHUP 2025-08-21 13:01:42 -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
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
60cda698c0 Don't copy every byte read into arena 2025-08-20 15:21:15 -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
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
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
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
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
e704c261cb Use a pipe instead of an eventfd 2025-08-18 16:35:33 -04:00
53fce46283 Descriptive name for thread index 2025-08-18 16:01:41 -04:00