Skip to content

feat(http-tracker): evaluate and implement native HTTP/3 support #1765

Description

@josecelano

Description

Overview

This is a follow-up to #1736. Once upstream Rust HTTP dependencies (Hyper, Axum) provide stable HTTP/3 support, evaluate and test native HTTP/3 support in the tracker HTTP server, document results, performance impact, and any required code changes or configuration additions.

Current blocker: The Rust HTTP ecosystem (Hyper, Axum) is still stabilizing HTTP/3 support (see hyperium/hyper#3925).

Why this issue

  1. Native HTTP/3 in the tracker would simplify deployments (no reverse proxy required for HTTP/3).
  2. The project should avoid losing track of native HTTP/3 adoption once upstream dependencies mature.

Scope

  1. Test functional correctness of native HTTP/3 on tracker announce/scrape endpoints and REST API.
  2. Benchmark performance and resource usage (CPU, memory) of direct HTTP/3 vs. proxy-terminated HTTP/3.
  3. Document migration path and backward compatibility requirements.
  4. Update tracker HTTP server code and deployment docs if native HTTP/3 support is viable.

Test/benchmark checklist

  • Confirm upstream HTTP/3 support is stable (Hyper, Axum)
  • Verify announce endpoint works over HTTP/3
  • Verify scrape endpoint works over HTTP/3
  • Verify REST API routes work over HTTP/3
  • Benchmark CPU and memory usage vs. proxy-terminated HTTP/3
  • Benchmark latency vs. proxy-terminated HTTP/3
  • Document migration path and backward compatibility requirements
  • Update deployment docs with native HTTP/3 configuration examples

Acceptance criteria

  • Upstream HTTP/3 support status is confirmed stable (documented in issue comments).
  • Functional tests confirm HTTP/3 works correctly for all tracker endpoints.
  • Performance benchmarks are documented.
  • A clear migration path is documented.
  • If native HTTP/3 is not viable, rationale is documented in a comment.

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions