Use snake_case for Connection etc methods
This commit is contained in:
21
todo.md
21
todo.md
@@ -26,8 +26,25 @@
|
||||
- [ ] Implement thread-safe Prometheus metrics library and serve `GET /metrics` endpoint
|
||||
- [ ] Implement gperf-based HTTP routing for efficient request dispatching
|
||||
- [ ] Implement HTTP client for S3 interactions
|
||||
- [ ] Design `HttpClient` class following WeaselDB patterns (factory creation, arena allocation, RAII)
|
||||
- [ ] Implement connection pool with configurable limits (max connections, idle timeout)
|
||||
- [ ] Support HTTP/1.1 with Keep-Alive for connection reuse
|
||||
- [ ] Use epoll-based async I/O model similar to Server architecture
|
||||
- [ ] Implement request pipeline: `HttpRequest` -> `HttpResponse` with arena-backed memory
|
||||
- [ ] Support streaming request bodies (chunked encoding) for large S3 uploads
|
||||
- [ ] Support streaming response bodies with callback-based data consumption
|
||||
- [ ] Add timeout handling (connect timeout, read timeout, total request timeout)
|
||||
- [ ] Implement retry logic with exponential backoff and jitter
|
||||
- [ ] Support custom headers and authentication (AWS Signature V4 for S3)
|
||||
- [ ] Single-threaded event-driven design for integration with persistence pipeline
|
||||
- [ ] Integration with WeaselDB's ThreadPipeline for request batching
|
||||
- [ ] Comprehensive error handling with detailed error codes and descriptions
|
||||
- [ ] Support for HTTP redirects (3xx responses) with redirect limits
|
||||
- [ ] SSL/TLS support using OpenSSL for HTTPS connections
|
||||
- [ ] Request/response logging and metrics integration
|
||||
- [ ] Memory-efficient design with zero-copy where possible
|
||||
- [ ] Implement fake in-process S3 service using separate Server instance with S3 ConnectionHandler
|
||||
- [ ] Use createLocalConnection to get fd for in-process communication
|
||||
- [ ] Use create_local_connection to get fd for in-process communication
|
||||
- [ ] Implement `ListObjectsV2` API for object enumeration
|
||||
- [ ] Implement `PutObject` with chunked encoding support for streaming uploads
|
||||
- [ ] Add `If-None-Match` conditional header handling for `PutObject`
|
||||
@@ -52,7 +69,7 @@
|
||||
- [ ] Test retention policy endpoints (`/v1/retention/*`)
|
||||
- [ ] Test `/metrics` Prometheus endpoint
|
||||
- [ ] Test error conditions and edge cases
|
||||
- [ ] Test concurrent request handling and threading model
|
||||
- [ ] Test single-threaded event-driven processing model
|
||||
|
||||
## ✅ Completed Tasks
|
||||
|
||||
|
||||
Reference in New Issue
Block a user