# `SSL.Protocol.ClientHandshake`
[🔗](https://github.com/gsmlg-dev/http_fetch/blob/v0.21.18/apps/ex_ssl/lib/ssl/protocol/client_handshake.ex#L1)

Shared record-free ClientHello and HelloRetryRequest orchestration.

# `decode_server_hello`

# `prepare`

```elixir
@spec prepare(
  SSL.ClientHello.Materializer.Materialized.t(),
  term(),
  SSL.PKIX.identity() | nil,
  keyword()
) :: {:ok, map(), binary()} | {:error, term()}
```

# `retry`

# `selected_key_pair`

# `validate_hrr_selection`

---

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