384 Commits

Author SHA1 Message Date
f458c6b249 Make pipeline policy/topology configurable 2025-11-06 15:55:27 -05:00
9f8562e30f Fix histogram thread death bug 2025-09-18 12:39:47 -04:00
cb66d65479 Add a bit more precision to docs, plus philosophy 2025-09-16 00:57:20 -04:00
4d015fa3dc Make recording metrics never block 2025-09-15 23:34:30 -04:00
0659319906 Prepare for try_lock optimization
So histogram observations never block
2025-09-15 23:04:54 -04:00
6f421629aa Add comments to avoid blocking in sequence and resolve stages 2025-09-15 22:51:41 -04:00
ba59a992dd Document per-connection locking strategy 2025-09-15 22:33:52 -04:00
0d76c73077 Only shut down write side for http 2025-09-15 21:42:36 -04:00
4ecbc07367 Fix flaky connection shutdown test 2025-09-15 21:39:48 -04:00
5e625197aa Fix url accumulation bug 2025-09-15 21:36:49 -04:00
5dda7353fa Add test for url accumulation bug 2025-09-15 21:36:49 -04:00
345d8e21b2 Use WaitIfUpstreamIdle 2025-09-15 20:48:12 -04:00
917066d8c0 Move thread local state into stack 2025-09-15 20:33:45 -04:00
5a88047b9f Two release threads 2025-09-15 20:09:15 -04:00
1acdc1e753 Put Arena destructor and move constructors in header 2025-09-15 17:01:38 -04:00
ae0c014298 Don't clear write interest if pending_response_queue_ non empty 2025-09-15 16:35:37 -04:00
e2115152c8 Add tests for shutdown vs close 2025-09-15 15:48:10 -04:00
55f6ebc02b Implement shutting down the write-side only 2025-09-15 15:39:28 -04:00
6b52c4289c Prevent queueing of messages on connection after it will be closed 2025-09-15 15:25:40 -04:00
7ee5ca2a9b Remove dead code, use proper send_ordered_response
And prepare to try to close a connection gracefully
2025-09-15 15:08:19 -04:00
9120c05847 Use spend_cpu_cycles instead of volatile loop 2025-09-15 14:07:38 -04:00
528a467518 Make test names match binary names 2025-09-15 13:06:15 -04:00
a67d7a8531 Consolidate into one send_ordered_response 2025-09-15 13:01:56 -04:00
6717b70772 Remove HttpConnectionState::response_queue_mutex 2025-09-15 12:32:19 -04:00
34accb9d80 Move GetVersion to commit pipeline 2025-09-15 12:30:02 -04:00
f3c3f77a24 Extract commit pipeline to its own module 2025-09-15 11:51:01 -04:00
afd240dba7 Remove vestigial "round-robin" code 2025-09-15 11:22:14 -04:00
1cb7a4c301 Remove has_pending_responses_ 2025-09-15 11:10:47 -04:00
1b220d0d1c WIP 2025-09-15 10:28:17 -04:00
ec2ad27e33 Add explanatory comments 2025-09-15 00:07:44 -04:00
eb98e51867 We expect to get valid fds to close in ~Connection in ~Server 2025-09-15 00:07:09 -04:00
022a79bf5b Separate HttpRequestState and HttpConnectionState
Now HttpConnectionState has a queue of HttpRequestState
2025-09-14 23:49:32 -04:00
fac6b8de88 Add test that shows parsing issue
It's meant to show the pipelining issue. I guess we'll solve the
newly-discovered parsing issue first.
2025-09-14 22:24:02 -04:00
1f61f91bf5 Reset connection state after finishing with it in http_handler 2025-09-14 21:16:41 -04:00
632113f792 Add test for pipeline request parsing bug 2025-09-14 20:53:19 -04:00
f62770c4ab Add copying utility methods to Arena 2025-09-14 20:38:54 -04:00
147edf5c93 More cleanup 2025-09-14 20:27:14 -04:00
f39149d516 Update documentation with new networking model 2025-09-14 19:03:56 -04:00
0389fd2c9f Consistently use state->arena for http handling 2025-09-14 17:16:05 -04:00
7ef54a2d08 Call epoll_ctl in release stage 2025-09-14 16:28:12 -04:00
16c7ee0408 Separate Connection and Request lifetimes 2025-09-14 15:04:37 -04:00
cf0c1b7cc2 Add echo test for server 2025-09-14 12:56:22 -04:00
bd06798fd3 Remove test_http_handler and test_server_connection_return 2025-09-14 11:38:43 -04:00
e96a493835 Remove release_back_to_server 2025-09-14 09:03:05 -04:00
e887906da8 Remove some unused/indirectly used headers 2025-09-13 17:25:46 -04:00
de6f38694f std::unique_ptr<Connection> -> Ref<Connection> 2025-09-13 17:25:46 -04:00
1fa3381e4b Use send/sendmsg and don't ignore SIGPIPE 2025-09-13 17:25:20 -04:00
cd2e15677a Remove epoll instances config 2025-09-12 18:05:07 -04:00
2b8f095d27 Fix minor issues 2025-09-12 12:13:50 -04:00
543447971f Fix polymorphic WeakRef bug 2025-09-12 12:08:46 -04:00