Quic.Profile (elixir_quic v0.16.7)

Copy Markdown View Source

Capability-checked client wire policy for Quic.

A profile contains ordered policy only. SSL.ClientHello.Materializer keeps the ClientHello random and key shares fresh for every materialization. Profile names describe local policy and are not browser identities or hash targets.

Summary

Functions

Return the two built-in legal policy variants.

Convert the current public ex_ssl capability report to profile capabilities.

Materialize one profile with fresh per-connection random values.

Types

name()

@type name() :: :ordered | :compact

t()

@type t() :: %{
  name: name(),
  tls: SSL.ClientHello.WireProfile.t(),
  transport_parameters: binary(),
  cid_length: 8..20,
  max_packet_size: pos_integer()
}

Functions

builtins()

Return the two built-in legal policy variants.

capabilities()

Convert the current public ex_ssl capability report to profile capabilities.

compile(name, opts \\ [])

@spec compile(name(), keyword()) :: {:ok, t()} | {:error, term()}

materialize(map, context \\ %{})

Materialize one profile with fresh per-connection random values.