Module iroh_relay::server

source ·
Available on crate feature server only.
Expand description

A fully-fledged iroh-relay server over HTTP or HTTPS.

This module provides an API to run a full fledged iroh-relay server. It is primarily used by the iroh-relay binary in this crate. It can be used to run a relay server in other locations however.

This code is fully written in a form of structured-concurrency: every spawned task is always attached to a handle and when the handle is dropped the tasks abort. So tasks can not outlive their handle. It is also always possible to await for completion of a task. Some tasks additionally have a method to do graceful shutdown.

The relay server hosts the following services:

  • HTTPS /relay: The main URL endpoint to which clients connect and sends traffic over.
  • HTTPS /ping: Used for net_report probes.
  • HTTPS /generate_204: Used for net_report probes.
  • STUN: UDP port for STUN requests/responses.

Modules§

  • Exposes functions to quickly configure a server suitable for testing.

Structs§

Enums§