Non Goals
以下内容不是当前 rs-netty 主路径目标。它们来自 README、公开 API 和源码边界。
No EventLoop API
rs-netty 直接使用 Tokio runtime、listener/socket task 和 per-connection task。它没有暴露 Java Netty 风格的 EventLoop 或 EventLoopGroup API。
No ByteBuf RefCnt API
公开 API 使用 bytes::Bytes、BytesMut、String 和用户自定义 owned 类型。框架不暴露 reference-counted ByteBuf 或 retain/release/refCnt 模型。
No ChannelFuture / Promise API
写入 API 使用 Rust async 和 Result。flush / write_and_flush 的 acknowledgement 是通过 await 本地 socket write 完成来表达,不提供 Java Netty 风格 ChannelFuture 或 Promise 主路径。
No Dynamic Boxed Handler Main Path
默认 pipeline 由泛型静态 stage 组合而成,不把 Box<dyn Handler> 作为主路径。这样 stage 顺序和消息类型才能在编译期检查。
No Runtime Pipeline Mutation API
当前 builder 建好 pipeline 后,运行时不提供 Netty 式 pipeline.addLast/remove/replace 动态修改主路径。
No TLS Pipeline Stage
TLS 被建模为可选 TCP transport layer,而不是 codec 或普通 pipeline stage。
TLS stream 建立后,typed pipeline 仍然处理明文应用消息。
TLS metadata 会通过 TlsInfo 暴露,但 TLS negotiation 本身仍发生在 transport 边界,而不是作为动态 pipeline stage。
No Codec Registry
内置 codec 是普通 Rust 类型,pipeline 显式实例化它们。当前没有全局 codec registry、协议名查找或运行时 codec negotiation registry。
No Automatic UDP Reliability
UDP 支持 datagram send/recv,但不提供可靠性、排序、重传、拥塞控制或自动 session 管理。
No Per-Peer UDP Child Pipeline
UDP server 使用 socket-level pipeline,不为每个 remote peer 创建独立 child pipeline。per-peer state 由应用 handler 管理。
No MQTT Broker State
MqttCodec 负责 MQTT 5 packet 编解码和局部格式校验,不维护 broker/client session、subscription tree、QoS 状态机或 retained message store。
Minimal HTTP/WebSocket Scope
HttpCodec 和 WebSocket codec 适合简单 server-side pipeline 示例和轻量用途。它们不是完整 HTTP framework,不提供 routing DSL、middleware stack、HTTP/2、compression、WebSocket extension negotiation 或 fragmented data frame reassembly。