Commit Graph

336 Commits

Author SHA1 Message Date
andrew e704c261cb Use a pipe instead of an eventfd 2025-08-18 16:35:33 -04:00
andrew 0e49025c0e Consolidate config docs in config.md, update file references 2025-08-18 16:13:08 -04:00
andrew 53fce46283 Descriptive name for thread index 2025-08-18 16:01:41 -04:00
andrew 8b18c5fde9 More error handling
Handle epoll_ctl errors by closing the connection
2025-08-18 15:59:35 -04:00
andrew 141ae823ab Improve some error handling
Handle EINTR in signal handler
Handle getListenFd errors by trying the next address
2025-08-18 15:57:03 -04:00
andrew 5bc78577c6 Add safety comments 2025-08-18 15:50:50 -04:00
andrew 368ec721d5 Full pass over src/main.cpp 2025-08-18 15:43:45 -04:00
andrew 8ef118a17d Shutdown fd 2025-08-18 15:21:45 -04:00
andrew 715941c0d3 Max connection limit 2025-08-18 14:48:01 -04:00
andrew 9f4547d9f7 Validate config 2025-08-18 14:13:54 -04:00
andrew 8e00e636b7 Remove auto network thread thing 2025-08-18 14:08:30 -04:00
andrew 78e3845130 Graceful shutdown and config 2025-08-18 14:03:51 -04:00
andrew 224d2cf708 Updates for Claude 2025-08-18 13:45:04 -04:00
andrew faaf750f87 TCP echo server 2025-08-18 13:33:58 -04:00
andrew 8d99ee9a5b Implement std::random_access_iterator_tag 2025-08-18 12:51:50 -04:00
andrew 0920193e5c Claude's docstrings 2025-08-18 12:47:24 -04:00
andrew 085e3c3fce Claude's comments 2025-08-18 12:45:28 -04:00
andrew b8891eee29 Add ThreadPipeline.h 2025-08-18 12:42:54 -04:00
andrew 5c377aa14d Add initial http server design 2025-08-18 11:45:28 -04:00
andrew f4cbfc0c4f Abort instead of calling std::bad_alloc 2025-08-18 11:04:45 -04:00
andrew b5cb4d2a81 Reorganize
Test-only code to tests
Rename interface to CommitRequestParser
2025-08-18 06:38:18 -04:00
andrew 34b5de1744 Use reference parser for tests 2025-08-18 06:27:24 -04:00
andrew 9e397d19c9 Make codebase consistent with design.md 2025-08-17 17:00:23 -04:00
andrew 1b1b875a3a Update design.md 2025-08-17 16:46:00 -04:00
andrew 34ebf5725f Simplify public headers more 2025-08-17 16:38:38 -04:00
andrew 8862fdd588 Update documentation 2025-08-17 16:11:28 -04:00
andrew fff7d67605 Fix naming inconsistency between code and markdown 2025-08-17 16:04:42 -04:00
andrew cca6a93c0e Simplify and clean up 2025-08-17 15:53:37 -04:00
andrew 344f287d60 Enable warnings for release build too 2025-08-17 15:43:09 -04:00
andrew ed84e4b54c Fix debug warnings 2025-08-17 15:41:51 -04:00
andrew 67b7563f64 Make comparison benchmarks relative 2025-08-17 15:32:54 -04:00
andrew 519c9457cd Only pass CommitRequest to begin_streaming_parse 2025-08-17 15:32:54 -04:00
andrew 032a4184cc Measure per byte in benchmarks and remove some of them 2025-08-17 15:32:54 -04:00
andrew 05ee8e05f8 Update design.md 2025-08-17 15:32:54 -04:00
andrew 67ddcd0fc8 Remove has_read_version_been_set_ from CommitRequest 2025-08-17 15:32:54 -04:00
andrew fa2a2e4427 Decouple parser from CommitRequest 2025-08-17 15:32:54 -04:00
andrew db2285dfda Remove unused header 2025-08-17 15:32:54 -04:00
andrew 0b7c29f151 Use consistent style in data callbacks 2025-08-17 15:32:54 -04:00
andrew 6775276e73 Tinkering with gperf options 2025-08-17 15:32:54 -04:00
andrew ce9d7db277 Use gperf - not faster yet 2025-08-17 15:32:54 -04:00
andrew 6343213e1b Disable rapidjson tests 2025-08-17 15:32:54 -04:00
andrew 628fe466ef Compare with rapidjson 2025-08-17 15:32:54 -04:00
andrew 5ffef98e3d Fix formatting 2025-08-15 22:49:18 -04:00
andrew f890172431 Generic config parsing utilities 2025-08-15 22:48:40 -04:00
andrew c55c9f6cd9 Remove stack, just use state machine 2025-08-15 21:55:08 -04:00
andrew b67666b97a Update design.md 2025-08-15 20:39:45 -04:00
andrew ea5da5fae1 Use size of current block for doubling, not total 2025-08-15 19:25:35 -04:00
andrew 9d18c0fcda Skip accumulating if all data is available 2025-08-15 19:19:49 -04:00
andrew a119f5232b Use base64 from simdutf8 2025-08-15 16:51:30 -04:00
andrew f6fbb3b3f0 Update docstrings 2025-08-15 16:35:16 -04:00