From 669feab7416eca6d7d634902e341dffccbc02acb Mon Sep 17 00:00:00 2001 From: "glm-5.2" Date: Tue, 23 Jun 2026 13:54:28 +0000 Subject: [PATCH] tasks: mark core/core-types completed --- tasks/core/core-types.md | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/tasks/core/core-types.md b/tasks/core/core-types.md index 9ddb54a..daabbb0 100644 --- a/tasks/core/core-types.md +++ b/tasks/core/core-types.md @@ -1,7 +1,7 @@ --- id: core/core-types name: "Implement core types: ProtocolHandler, Connection, BiStream, SendStream, RecvStream, StreamError, HandlerError, Capabilities" -status: pending +status: completed depends_on: [core/crate-init] scope: broad risk: medium @@ -221,4 +221,16 @@ Returned by `Connection::set_identity()` if called a second time. ## Summary -> To be filled on completion \ No newline at end of file +Implemented all core types in `types.rs`: `ProtocolHandler` trait (`alpn` + +`handle`), `HandlerError` (4 variants), `Connection` (quinn/iroh feature-gated +enum dispatch, `OnceLock` write-once identity, `accept_bi`/`open_bi`/`close`/ +`remote_alpn`/`remote_addr`), `BiStream` trait, `SendStream`/`RecvStream` +`AsyncWrite`/`AsyncRead` wrappers, `StreamError`, `From` for +`HandlerError`, `Capabilities` (`Zeroize`+`ZeroizeOnDrop`, immutable builder API, +`Secret` wrapper, non-serializable), `IdentityAlreadySet`. Added minimal +`Identity`/`AuthContext` in `auth.rs`. 13 unit tests pass; clippy clean across +feature combos. Merged to develop. + +Notable: `quinn::Connection` has no `alpn()` accessor so ALPN is stored separately +(`from_quinn_with_alpn`); iroh 0.35 types via `iroh::endpoint::*`; iroh Connection +has no `remote_address` (returns None per spec). \ No newline at end of file