feat(core): initialize alknet-core crate with module skeleton

Create crates/alknet-core with Cargo.toml (dependencies, feature flags
quinn/iroh), src/lib.rs declaring types/auth/config/endpoint modules, and
skeleton files for each module with doc comments and TODO markers. Add the
crate to the workspace members list.

Both quinn (default-on) and iroh (opt-in) are optional and can be active
simultaneously per ADR-010. Dual license MIT OR Apache-2.0 inherited from
the workspace.
This commit is contained in:
2026-06-23 13:10:57 +00:00
parent 6056492128
commit 963f3d9532
8 changed files with 3272 additions and 47 deletions

View File

@@ -0,0 +1,6 @@
//! Authentication: `AuthContext`, `Identity`, `IdentityProvider`, `AuthToken`,
//! `ConfigIdentityProvider`.
//!
//! See `docs/architecture/crates/core/auth.md` for the full specification.
// TODO: implement

View File

@@ -0,0 +1,6 @@
//! Configuration: `StaticConfig`, `DynamicConfig`, `AuthPolicy`, `ApiKeyEntry`,
//! `RateLimitConfig`, `ConfigReloadHandle`, `ConfigError`, `TlsIdentity`.
//!
//! See `docs/architecture/crates/core/config.md` for the full specification.
// TODO: implement

View File

@@ -0,0 +1,5 @@
//! Endpoint: `AlknetEndpoint`, `HandlerRegistry`, `EndpointError`.
//!
//! See `docs/architecture/crates/core/endpoint.md` for the full specification.
// TODO: implement

View File

@@ -0,0 +1,12 @@
//! alknet-core: Core library for ALPN-based protocol dispatch.
//!
//! Every handler crate depends on this crate. It provides the
//! [`ProtocolHandler`][crate::types::ProtocolHandler] trait, the
//! [`Connection`][crate::types::Connection] wrapper, auth primitives,
//! hot-reloadable configuration, and the [`AlknetEndpoint`][crate::endpoint::AlknetEndpoint]
//! that dispatches incoming QUIC connections by ALPN string.
pub mod auth;
pub mod config;
pub mod endpoint;
pub mod types;

View File

@@ -0,0 +1,6 @@
//! Core types: `ProtocolHandler`, `HandlerError`, `Connection`, `BiStream`,
//! `SendStream`, `RecvStream`, `StreamError`, `Capabilities`.
//!
//! See `docs/architecture/crates/core/core-types.md` for the full specification.
// TODO: implement