# `RpcLoadBalancer.LoadBalancer.IndexRegistry`
[🔗](https://github.com/MikaAK/rpc_load_balancer/blob/main/lib/rpc_load_balancer/load_balancer/index_registry.ex#L1)

Assigns unique integer indices to arbitrary keys for a given cache.

Uses `Cache.PersistentTerm` for key-to-index mappings and `:atomics`
for a monotonic next-index counter per cache. Indices are zero-based
and never reused.

# `adapter_options`

# `cache_adapter`

# `cache_name`

# `child_spec`

# `delete`

# `get`

# `get_or_create`

# `get_or_register`

```elixir
@spec get_or_register(atom(), term()) :: non_neg_integer()
```

# `init_counter`

```elixir
@spec init_counter(atom()) :: :ok
```

# `put`

---

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