# LibTmux.Internal.SeparatedRowFramer.Decode

- **Module:** LibTmux.Internal.SeparatedRowFramer
- **Package:** LibTmux
- **Language:** .NET
- **Kind:** method
- **Source:** https://github.com/libtmux/libtmux-dotnet/blob/6656a563ec9e07ab52e0c3ac96f7704fc94cc0c0/src/LibTmux/Materialization/SeparatedRowFramer.cs#L26
- **Page:** https://libtmux.org/reference/dotnet/libtmux-internal-separatedrowframer-decode/

```
LibTmux.Internal.SeparatedRowFramer.Decode(payload: ReadOnlySpan<byte>, projection: FormatProjection, limits: TmuxTransportLimits) -> IReadOnlyList<IReadOnlyDictionary<string, ReadOnlyMemory<byte>?>>
```

Decodes every complete row in one framed payload.

## Parameters

- `payload` (ReadOnlySpan<byte>) — Raw bytes tmux wrote to standard output.
- `projection` (FormatProjection) — Projection whose fields each row must carry.
- `limits` (TmuxTransportLimits) — Limits bounding one scalar.

## Returns

One dictionary of copied raw values per row.

## Raises

- `InvalidDataException` — The payload is malformed, truncated, oversized, or carries unknown,
duplicated, or missing fields.
