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

Frames complete TLS records from an arbitrarily chunked byte stream.

Incomplete data is retained as an opaque chunk accumulator so repeated small
feeds do not rebuild the entire buffered record.

# `t`

```elixir
@opaque t()
```

# `buffered_bytes`

```elixir
@spec buffered_bytes(t() | binary()) :: binary()
```

# `buffered_size`

```elixir
@spec buffered_size(t() | binary()) :: non_neg_integer()
```

# `feed`

```elixir
@spec feed(t() | binary(), binary(), keyword()) ::
  {:ok, [binary()], t()} | {:error, term()}
```

# `new`

```elixir
@spec new() :: t()
```

---

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