Commit Graph

145 Commits

Author SHA1 Message Date
a73a463936 Fix Arena realloc bug 2025-08-28 13:27:53 -04:00
a32356e298 Add ArenaVector 2025-08-28 13:27:21 -04:00
b6e57f58af Increase buffer size to 1 << 16
Also improve camel case script
2025-08-26 22:31:42 -04:00
c915fed4cc Change max batch to one 2025-08-26 16:54:29 -04:00
a734760b60 Add documentation to StaticThreadPipeline 2025-08-26 16:11:02 -04:00
6e48a0ff9a Let WaitIfUpstreamIdle spin long enough to stay saturated by load_tester 2025-08-26 15:38:07 -04:00
6dbf29d1e1 StaticThreadPipeline 2025-08-26 15:13:16 -04:00
0b63e24b98 Refactor before static pipeline 2025-08-26 14:11:55 -04:00
1f050c861a Add operator[] to batch in thread pipeline 2025-08-26 13:39:11 -04:00
eaeffff620 Improve ThreadPipeline docs 2025-08-26 13:10:58 -04:00
6ddba37e60 Add different wait strategies to pipeline 2025-08-26 12:30:27 -04:00
36e1bf0e2d Add threading_performance_report.md 2025-08-25 13:00:25 -04:00
ee721c7753 Use snake_case for Connection etc methods 2025-08-24 16:21:01 -04:00
e56cf41a01 Maintain outgoing bytes queued count 2025-08-24 11:04:26 -04:00
c0242317ed on_post_batch -> on_batch_complete 2025-08-24 11:00:20 -04:00
6f1806d0b8 Make error code types nodiscard 2025-08-24 06:35:11 -04:00
772797155b Add on_write_buffer_drained 2025-08-23 22:39:14 -04:00
94f78ebbe7 Use signed in a bunch of places 2025-08-23 20:52:40 -04:00
a2e1fd5ba1 Use include <cstring> and std::memcpy etc 2025-08-23 20:24:50 -04:00
18a1b30d9f Fix EINTR handling for close 2025-08-23 20:14:24 -04:00
a820efa2e6 Fix EINTR handling 2025-08-23 17:32:37 -04:00
3712622d11 Many style updates around asserts, aborts, and errors 2025-08-23 13:23:40 -04:00
2754f4cbe2 Avoid exceptions 2025-08-23 12:56:28 -04:00
4af5e0423e Always use struct 2025-08-23 06:13:27 -04:00
9eafae457b ThreadPipeline.h -> thread_pipeline.hpp 2025-08-22 18:08:22 -04:00
c58a00a34f Replace VLA with thread local vectors 2025-08-22 18:05:14 -04:00
f51f257df6 Justify epoll_instances config existing 2025-08-22 16:47:08 -04:00
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