---
title: "Features"
---

> Documentation Index
> Fetch the complete documentation index at: https://openarkstudio.github.io/arknet/llms.txt
> Use this file to discover all available pages before exploring further.

# Features

Choose a transport by its message semantics and peer requirements, or a native
service client by its protocol. Transport endpoints share lifecycle, owned-send
and IO scheduling conventions; service clients document their request and reply contracts.

| Module | Server | Client | Configuration | Performance |
| --- | --- | --- | --- | --- |
| [TCP](/arknet/features/tcp) | [Create](/arknet/features/tcp/server) | [Create](/arknet/features/tcp/client) | [Framing and sessions](/arknet/features/tcp/configuration) | [Results](/arknet/features/tcp/performance) |
| [UDP](/arknet/features/udp) | [Create](/arknet/features/udp/server) | [Create](/arknet/features/udp/client) | [Cast and datagram limits](/arknet/features/udp/configuration) | [Results](/arknet/features/udp/performance) |
| [RUDP](/arknet/features/rudp) | [Create](/arknet/features/rudp/server) | [Create](/arknet/features/rudp/client) | [ARQ and limits](/arknet/features/rudp/configuration) | [Results](/arknet/features/rudp/performance) |
| [WebSocket / WSS](/arknet/features/websocket) | [Create](/arknet/features/websocket/server) | [Create](/arknet/features/websocket/client) | [Upgrade and messages](/arknet/features/websocket/configuration) | [Results](/arknet/features/websocket/performance) |
| [HTTP / HTTPS](/arknet/features/http) | [Create](/arknet/features/http/server) | [Create](/arknet/features/http/client) | [Messages and Keep-Alive](/arknet/features/http/configuration) | [Results](/arknet/features/http/performance) |
| [TLS / mTLS](/arknet/features/tls) | [Create](/arknet/features/tls/server) | [Create](/arknet/features/tls/client) | [Certificates and mutual authentication](/arknet/features/tls/configuration) | [Results](/arknet/features/tls/performance) |
| [MySQL](/arknet/features/mysql) | External MySQL service | [Queries and pool](/arknet/features/mysql/usage) | [TLS, limits and leases](/arknet/features/mysql/configuration) | [Benchmark](/arknet/features/mysql/performance) |
| [Redis](/arknet/features/redis) | External Redis service | [Client and pool](/arknet/features/redis/usage) | [Limits, authentication and leases](/arknet/features/redis/configuration) | [Benchmark](/arknet/features/redis/performance) |

## Availability

- Boost.Asio is the default dependency. Standalone Asio supports TCP, UDP, RUDP,
  TLS and database clients through the same callback API; HTTP and WebSocket require Boost.Beast.
- MySQL authentication and secure transports require `ARKNET_ENABLE_SSL` and OpenSSL.
- IPv4 and IPv6 share the endpoint API; listening policy is explicit.
- HTTP currently implements HTTP/1.1. Native UDP does not add retransmission or segmentation.
- RUDP includes ARQ-only, fixed FEC and adaptive FEC in `v0.1.0`; local validation is complete. See [deployment acceptance](/arknet/project/production-readiness).
- [Single HTTP requests](/arknet/features/http/requests) support completion, timeout and cancellation.
- Public coroutine endpoints, HTTP/2, HTTP/3, named pipes, Unix domain sockets,
  RPC, DTLS and WebSocket compression are [planned](/arknet/project/roadmap).
- The [database client guide](/arknet/features/database-clients) covers native single-node MySQL
  and Redis clients, exclusive pool leases and failure handling.

[Installation](/arknet/get-started/installation) · [Common concepts](/arknet/concepts) · [API index](/arknet/reference/api)

Source: https://openarkstudio.github.io/arknet/features/index.mdx
