feat(endpoint): initialize alknet-endpoint crate with all modules

- Create crates/alknet-endpoint/ with Cargo.toml, feature flags (quinn, iroh, tcp, acme)
- Implement HandlerRegistry (registry.rs) — extracted from core/endpoint.rs
- Implement AlknetEndpoint (endpoint.rs) — fresh build against ADR-083 shape
  - new() takes no StaticConfig, no TLS config
  - with_quinn/with_iroh/with_tcp_tls builder methods
  - run() spawns accept loops for each active transport
  - shutdown() is infallible (no Result)
  - No EndpointError type
- Implement dispatch (dispatch.rs) — shared dispatch_connection free function
  - Transport-agnostic: takes pre-extracted alpn, fingerprint, remote_addr
  - ACME guard (acme-tls/1) behind acme feature
  - build_auth_context resolves identity from fingerprint
- Implement accept loops:
  - accept/quinn.rs — quinn accept loop with ALPN + fingerprint extraction
  - accept/iroh.rs — iroh accept loop with ALPN negotiation + fingerprint
  - accept/tcp_tls.rs — TCP+TLS accept loop (new code, not in old endpoint.rs)
- Add alknet-endpoint to workspace members
- All feature combos compile cleanly (no features, quinn, iroh, tcp, all three)
- Workspace cargo check passes
This commit is contained in:
deepseek-v4-pro committed 2026-07-17 10:48:39 +00:00
1 parent 67d2f4affb
commit 2755b995c6
11 files changed
+616

No files matched your search

+1
View File
@@ -3,6 +3,7 @@ members = [
"crates/alknet-vault",
"crates/alknet-core",
"crates/alknet-call",
"crates/alknet-endpoint",
"crates/alknet-http",
"crates/alknet-tls",
"crates/alknet-tty",