chore(deps): consume alkcall 0.3 — per-session fork, serving loop, op/register

Bump alkcall 0.2 -> 0.3 (published 2026-09-04; the remediation of
alkcall reviews 004-005, the upstream resolution of alkhttp review 003
WS-24/WS-25). Two source-break classes, both mechanical:

- take_call_connection now returns Option<Arc<CallConnection>>
  (was bare value) — drop the double-wrap in WssSession::connect.
- register/register_on/register_openable take &OperationRegistry
  (was &mut) — drop 51 stale `mut` bindings (clippy --fix), which is
  the interior-mutability change that makes the per-session fork
  surface possible.

No behavior change in this crate yet; the 0.3 mechanisms (fork,
serve_single_stream, op/register, install_bootstrap_discovery,
collision policy) are the composition surface for alkhttp review 003
Unit 2 (WS-20..22, WS-26 wiring) — not wired here yet.

Verification: cargo test 453 passed (default) / 575 passed
(all-features), clippy both sides -D warnings clean, fmt clean,
cargo doc --no-deps clean.
This commit is contained in:
2026-09-04 14:55:19 +00:00
parent 5b62307be9
commit 3dee46aead
10 changed files with 50 additions and 51 deletions
+7 -7
View File
@@ -30,7 +30,7 @@ fn echo_handler() -> Handler {
}
fn echo_registry() -> Arc<OperationRegistry> {
let mut registry = OperationRegistry::new();
let registry = OperationRegistry::new();
registry
.register(HandlerRegistration::new(
OperationSpec::new(
@@ -54,7 +54,7 @@ fn echo_registry() -> Arc<OperationRegistry> {
}
fn slow_and_echo_registry() -> Arc<OperationRegistry> {
let mut registry = OperationRegistry::new();
let registry = OperationRegistry::new();
registry
.register(HandlerRegistration::new(
OperationSpec::new(
@@ -100,7 +100,7 @@ fn slow_and_echo_registry() -> Arc<OperationRegistry> {
}
fn internal_registry() -> Arc<OperationRegistry> {
let mut registry = OperationRegistry::new();
let registry = OperationRegistry::new();
registry
.register(HandlerRegistration::new(
OperationSpec::new(
@@ -124,7 +124,7 @@ fn internal_registry() -> Arc<OperationRegistry> {
}
fn restricted_registry() -> Arc<OperationRegistry> {
let mut registry = OperationRegistry::new();
let registry = OperationRegistry::new();
registry
.register(HandlerRegistration::new(
OperationSpec::new(
@@ -151,12 +151,12 @@ fn restricted_registry() -> Arc<OperationRegistry> {
}
fn registry_with_services_list(inner_ops: Vec<HandlerRegistration>) -> Arc<OperationRegistry> {
let mut inner = OperationRegistry::new();
let inner = OperationRegistry::new();
for op in inner_ops {
inner.register(op).unwrap();
}
let inner = Arc::new(inner);
let mut registry = OperationRegistry::new();
let registry = OperationRegistry::new();
registry
.register(HandlerRegistration::new(
services_list_spec(),
@@ -696,7 +696,7 @@ async fn ws_sessions_registry_tracks_and_aborts_live_sessions() {
async fn session_cap_rejects_over_limit_with_503_and_frees_slots_on_end() {
use alkhttp::server::HttpAdapter;
let mut registry_val = OperationRegistry::new();
let registry_val = OperationRegistry::new();
registry_val
.register(HandlerRegistration::new(
OperationSpec::new(