# `Vdr.TSProj`
[🔗](https://github.com/savonarola/veidrodelis/blob/v0.1.6/lib/veidrodelis/ts_proj.ex#L1)

Redis replication stream processor storing data in TS (Rust-based storage).

This module provides Redis replication stream processing using TS (Rust-based storage)
for efficient key-value storage. Currently supports sets, sorted sets, lists, hashes and strings.

# `key`

```elixir
@type key() :: binary()
```

# `t`

```elixir
@type t() :: %Vdr.TSProj{
  id: term(),
  in_transaction: boolean(),
  monitors: %{required(pid()) =&gt; reference()},
  new_ts_storage: reference() | nil,
  ready: boolean(),
  ts_storage: reference(),
  tx_buffer: list(),
  watch: Vdr.TS.Watch.t()
}
```

# `value`

```elixir
@type value() :: binary()
```

# `lua_load`

```elixir
@spec lua_load(%{ts_storage: reference()}, binary()) ::
  {:ok, binary()} | {:error, term()}
```

# `read_tx`

```elixir
@spec read_tx(
  %{ts_storage: reference(), ready: boolean()},
  non_neg_integer(),
  [tuple()] | binary()
) :: {:ok, [term()]} | {:error, term()}
```

# `start_link`

---

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