1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
//! Public identifiers for TLS (EC)DHE groups used as configuration knobs.
//!
//! The wire-format codepoints live in `super::codec::NamedGroup`, which is
//! intentionally `pub(crate)` — the wire codec is an internal detail. This
//! module exposes a small public enum that user code can name when setting
//! per-connection preferences (e.g.
//! [`super::ConfigBuilder::preferred_key_exchange_group`]), with a
//! one-line conversion to the internal wire identifier.
//!
//! Only the groups the engine actually implements for key exchange are
//! exposed here.
//
// Don't grow this enum by reflex — every variant has to be wired through
// `key_agreement` on both sides before being legal here.
/// A named (EC)DHE group offered for TLS 1.3 key exchange.
///
/// Used as a public configuration handle (e.g. for picking a server-side
/// preferred group that triggers HelloRetryRequest, RFC 8446 §4.1.4).