Non Goals
The following are not goals of the current rs-netty main path. They come from the README, public API, and source boundaries.
No EventLoop API
rs-netty directly uses the Tokio runtime, listener/socket tasks, and per-connection tasks. It does not expose a Java Netty-style EventLoop or EventLoopGroup API.
No ByteBuf RefCnt API
The public API uses bytes::Bytes, BytesMut, String, and user-defined owned types. The framework does not expose reference-counted ByteBuf or retain/release/refCnt.
No ChannelFuture / Promise API
Write APIs use Rust async and Result. flush / write_and_flush acknowledgements are expressed by awaiting local socket write completion. There is no Java Netty-style ChannelFuture or Promise main path.
No Dynamic Boxed Handler Main Path
The default pipeline is composed from generic static stages. It does not use Box<dyn Handler> as the main path, which allows stage order and message types to be checked at compile time.
No Runtime Pipeline Mutation API
After the builder creates a pipeline, the runtime does not provide Netty-style pipeline.addLast/remove/replace dynamic mutation on the main path.
No TLS Pipeline Stage
TLS is modeled as an optional TCP transport layer, not as a codec or ordinary
pipeline stage. The typed pipeline still processes plaintext application
messages after the TLS stream is established.
TLS metadata is exposed through TlsInfo, but TLS negotiation itself still
happens at the transport boundary rather than as a dynamic pipeline stage.
No Codec Registry
Built-in codecs are ordinary Rust types that are instantiated explicitly in pipelines. There is no global codec registry, protocol-name lookup, or runtime codec negotiation registry.
No Automatic UDP Reliability
UDP supports datagram send/receive, but does not provide reliability, ordering, retransmission, congestion control, or automatic session management.
No Per-Peer UDP Child Pipeline
UDP servers use a socket-level pipeline and do not create independent child pipelines per remote peer. Applications manage per-peer state in their handlers.
No MQTT Broker State
MqttCodec encodes/decodes MQTT 5 packets and performs local format validation. It does not maintain broker/client sessions, subscription trees, QoS state machines, or retained message stores.
Minimal HTTP/WebSocket Scope
HttpCodec and the WebSocket codecs are suitable for simple server-side pipeline examples and lightweight usage. They are not a full HTTP framework and do not provide a routing DSL, middleware stack, HTTP/2, compression, WebSocket extension negotiation, or fragmented data frame reassembly.