template: revalidate against hero_rpc#138 — drop catalog block_in_place bridge, async handlers #12
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "hero-rpc-137-svc-async"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
Revalidates the hero_service template against hero_rpc#138 (closes hero_rpc#137). That PR made the generator emit
async fnfor service-method handlers, retiring the codegen asymmetry left by hero_rpc#133 (CRUD half).The hero_service-side consequence: drop the
bridge_synchelper +block_in_place(|| Handle::current().block_on(...))workaround that #11 had to paste intocrates/hero_service_server/src/catalog/rpc.rs, and convert the catalog + greeter handler impls toasync fn.Changes
crates/hero_service_server/src/catalog/rpc.rs— dropbridge_synchelper. EveryServiceCatalogTraitmethod becomesasync fn. CRUD calls (self.domain.servicedefinition_list_full(),..._delete(...)) become plain.await.service_existshelper becomes async too.crates/hero_service_server/src/greeter/rpc.rs— convert all fiveGreeterTraitmethod impls toasync fn.Cargo.lock— bump hero_rpc deps to merged #138 tip (5d0abe7).Validation
cargo build --workspaceclean.cargo test --workspace --no-runclean — every generated test binary (including the 14 service-method E2E tests from #11) compiles and links.grep -rn "block_in_place\|bridge_sync" crates/hero_service_server/src/— no occurrences in handler bodies after this PR.lab service hero_service --testis pending — the new lab binary from hero_skillsce5e90c(just installed locally) recognises--ephemeral+--test, but the installedhero_service_serverfails silently when spawned bylab --ephemeral(stderr empty, ephemeral socket never comes up within 5 s). Workspace builds and unit tests are clean; the failure is in the lab→hero_service ephemeral launch interplay, not in this PR's code path. To be filed as a follow-up issue.Links