# 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.