# `SSL.ClientHello.AST`
[🔗](https://github.com/gsmlg-dev/http_fetch/blob/v0.16.7/apps/ex_ssl/lib/ssl/client_hello/ast.ex#L1)

Public, fully materialized ClientHello fields in exact wire order.

This structure contains public wire material only. Ephemeral private keys are
retained separately by `SSL.ClientHello.Materializer.Materialized`.

# `extension`

```elixir
@type extension() :: {0..65535, binary()}
```

# `t`

```elixir
@type t() :: %SSL.ClientHello.AST{
  cipher_suites: [0..65535],
  compression_methods: [0..255],
  extensions: [extension()],
  legacy_version: 0..65535,
  random: binary(),
  session_id: binary()
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
