feat(call): implement CallConnection with imported-ops overlay and call/subscribe/abort (task: call/protocol/call-connection)

Implement CallConnection in protocol/connection.rs with Layer 2 imported-ops
overlay (Arc<RwLock<HashMap>>), register_imported/register_imported_all,
overlay_env() returning an OperationEnv that dispatches to imported ops,
and call()/subscribe()/abort() methods that open a stream, send call.requested,
register in PendingRequestMap, spawn a stream reader, and correlate responses
by ID. Connection drop drops the overlay. Exposed MockConnection +
Connection::from_mock in alknet-core for cross-crate testing. 9 new connection
tests (102 total in alknet-call).

Refs: docs/architecture/crates/call/call-protocol.md
Implements: ADR-012, ADR-017, ADR-024
This commit is contained in:
2026-06-23 15:17:55 +00:00
5 changed files with 576 additions and 28 deletions

1
Cargo.lock generated
View File

@@ -55,6 +55,7 @@ dependencies = [
"async-trait",
"futures",
"irpc",
"parking_lot",
"serde",
"serde_json",
"thiserror 2.0.18",