# `SSL.Crypto.TrafficState`
[🔗](https://github.com/gsmlg-dev/http_fetch/blob/v0.16.7/apps/ex_ssl/lib/ssl/crypto/traffic_state.ex#L1)

Immutable key material and record sequence state for one TLS traffic epoch.

# `cipher_suite`

```elixir
@type cipher_suite() ::
  :tls_aes_128_gcm_sha256
  | :tls_aes_256_gcm_sha384
  | :tls_chacha20_poly1305_sha256
```

# `t`

```elixir
@type t() :: %SSL.Crypto.TrafficState{
  cipher_suite: cipher_suite(),
  generation: non_neg_integer(),
  iv: binary(),
  key: binary(),
  secret: binary(),
  sequence: non_neg_integer()
}
```

# `advance`

```elixir
@spec advance(term()) :: {:ok, t()} | {:error, term()}
```

# `nonce`

```elixir
@spec nonce(t()) :: {:ok, binary()} | {:error, term()}
```

---

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