Commit Graph

53 Commits

Author SHA1 Message Date
a2da7fba84 Explicitly support having a WeakRef to self 2025-09-11 14:54:42 -04:00
5d932bf36c Add polymorphism support to Ref 2025-09-11 14:15:52 -04:00
994e31032f Fix data race in freeing control block 2025-09-11 11:32:59 -04:00
b9106a0d3c Add test_reference.cpp 2025-09-10 22:05:31 -04:00
f56ed2bfbe Rename ArenaAllocator -> Arena 2025-09-05 17:57:04 -04:00
72481be46d Consolidate into two static libs - one with assertions and one without 2025-09-05 11:22:04 -04:00
d04705624a Handle percent encoding 2025-09-04 20:47:58 -04:00
2278694f4f Separate out api url parser 2025-09-04 16:39:19 -04:00
0583a63649 WIP separate phases. Passes but has a memory leak 2025-09-02 17:51:41 -04:00
7006012aeb Fix stack-use-after-scope 2025-09-02 13:01:02 -04:00
3d573694c4 Add ArenaAllocator::Ptr 2025-09-02 12:13:00 -04:00
8326c67b9c Deterministic render ordering 2025-08-31 22:55:01 -04:00
dcf8af6d43 Add test demonstrating thread destruction bug 2025-08-30 15:45:44 -04:00
a5776004de Update potential misunderstanding about thread safety 2025-08-29 14:08:41 -04:00
62b37c067c Metrics implementation, WIP 2025-08-29 13:43:03 -04:00
bc0d5a7422 Add format utility 2025-08-28 14:01:43 -04:00
6dbf29d1e1 StaticThreadPipeline 2025-08-26 15:13:16 -04:00
ee721c7753 Use snake_case for Connection etc methods 2025-08-24 16:21:01 -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
8012e7ed60 Prefer testing through public APIs 2025-08-23 06:19:29 -04:00
9eafae457b ThreadPipeline.h -> thread_pipeline.hpp 2025-08-22 18:08:22 -04:00
1a85e91113 Add test for releasing connections back to the server 2025-08-22 13:10:26 -04:00
5e8fe590c1 Move activeConnections to Server 2025-08-21 21:55:19 -04:00
d1b1e6d589 Connection registry
Now we can use leak sanitizer. Yay!
2025-08-21 18:09:36 -04:00
cf692e71ef Perfetto tracing for /ok. Header parsing not complete 2025-08-20 12:19:20 -04:00
b8d735f074 Initial http implementation 2025-08-19 17:20:18 -04:00
f4cbfc0c4f Abort instead of calling std::bad_alloc 2025-08-18 11:04:45 -04:00
b5cb4d2a81 Reorganize
Test-only code to tests
Rename interface to CommitRequestParser
2025-08-18 06:38:18 -04:00
34b5de1744 Use reference parser for tests 2025-08-18 06:27:24 -04:00
9e397d19c9 Make codebase consistent with design.md 2025-08-17 17:00:23 -04:00
519c9457cd Only pass CommitRequest to begin_streaming_parse 2025-08-17 15:32:54 -04:00
67ddcd0fc8 Remove has_read_version_been_set_ from CommitRequest 2025-08-17 15:32:54 -04:00
fa2a2e4427 Decouple parser from CommitRequest 2025-08-17 15:32:54 -04:00
42d42bdf39 Accurately track used bytes in Arena 2025-08-15 15:02:18 -04:00
9fdcae5098 Fix warning 2025-08-15 14:20:28 -04:00
abea5cd8cd realloc_raw 2025-08-15 13:45:05 -04:00
8e33b477eb Make allocate take a template type
So we use the right alignment
2025-08-15 13:31:45 -04:00
52f0eeee1f Add ArenaAllocator::realloc 2025-08-15 12:30:05 -04:00
28fa96011f Arena debug visualization 2025-08-15 10:47:40 -04:00
ee5d14c4cd Clear key after matching on it 2025-08-14 16:49:20 -04:00
52381467f7 Bug fixes 2025-08-14 16:27:28 -04:00
7ca50350e7 WIP making Operation and Precondition smaller 2025-08-14 16:15:14 -04:00
176922e394 Validate operations and preconditions 2025-08-14 15:18:43 -04:00
40fa403ec5 More validation of commit request 2025-08-14 15:09:58 -04:00
61ae8420a8 Initial attempt at parsing commit requests 2025-08-14 12:53:37 -04:00
9d4c08747c Require types used with construct are trivially destructible 2025-08-14 12:06:42 -04:00