From 1e57c1d8c9ce9b491f21b3afbdc18a5477e71bc2 Mon Sep 17 00:00:00 2001 From: Leynos Date: Wed, 11 Jun 2025 23:46:40 +0100 Subject: [PATCH 1/2] Detail Actix API subtasks --- docs/roadmap.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/roadmap.md b/docs/roadmap.md index 16bf8d1c..b210c518 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -13,6 +13,13 @@ after formatting. Line numbers below refer to that file. 329-333). - [ ] Build the Actix-inspired API around `WireframeApp` and `WireframeServer` as described in lines 586-676. + - [ ] Implement `WireframeApp` builder to register routes, services, + middleware, and shared state. + - [ ] Implement `WireframeServer` to spawn per-worker apps, bind to an + address, and run. + - [ ] Create supporting types like the `FrameProcessor` trait, state + extractors, and middleware trait. + - [ ] Provide example code mirroring the design document usage snippet. ## 2. Middleware and Extractors From 992d6bc87ac202264fb9034f4ceb59ca090286d7 Mon Sep 17 00:00:00 2001 From: Leynos Date: Thu, 12 Jun 2025 00:03:08 +0100 Subject: [PATCH 2/2] Expand API roadmap subtasks --- docs/roadmap.md | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/docs/roadmap.md b/docs/roadmap.md index b210c518..24c4a9e6 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -13,13 +13,20 @@ after formatting. Line numbers below refer to that file. 329-333). - [ ] Build the Actix-inspired API around `WireframeApp` and `WireframeServer` as described in lines 586-676. - - [ ] Implement `WireframeApp` builder to register routes, services, - middleware, and shared state. - - [ ] Implement `WireframeServer` to spawn per-worker apps, bind to an - address, and run. - - [ ] Create supporting types like the `FrameProcessor` trait, state - extractors, and middleware trait. - - [ ] Provide example code mirroring the design document usage snippet. + - [ ] Implement `WireframeApp` builder. + Clarify method signatures (`new`, `route`, `service`, `wrap`), + expose a consistent `Result` error strategy, and allow + registration calls in any order for ergonomic chaining. + - [ ] Implement `WireframeServer`. + Outline how worker threads are spawned via Tokio, with graceful + shutdown using a signal and per-worker `WireframeApp` instances. + - [ ] Standardise supporting trait definitions. + Provide naming conventions and generic bounds for the + `FrameProcessor` trait, state extractors and middleware via + `async_trait` and associated types. + - [ ] Provide a minimal, runnable example. + Include imports and an async `main` so the snippet compiles out of + the box. ## 2. Middleware and Extractors