# `CMDC.Checkpoint.Backend.ETS`
[🔗](https://github.com/tuplehq/cmdc/blob/v0.4.0/lib/cmdc/checkpoint/backend/ets.ex#L1)

默认 ETS 后端 — 进程内、零依赖、最快。

适合：开发 / 短会话 / 单测。
不适合：BEAM 重启需保留状态、跨节点访问。

## 表设计

统一一张表 `:cmdc_checkpoints`（`:bag` 类型）：
- key：`{session_id, checkpoint_id}`
- value：`%CMDC.Checkpoint.Snapshot{}`

并发：`:public` + `:read_concurrency` + `:write_concurrency`，
写入靠 ETS 原子操作保证一致。

## 启动方式

- **自动**：`CMDC.Application` 启动时 `ensure_table/0`
- **手动**：测试中 `CMDC.Checkpoint.Backend.ETS.ensure_table/0`

# `ensure_table`

```elixir
@spec ensure_table() :: :ok
```

确保表存在（幂等）。`CMDC.Application` 启动时调用。

# `reset`

```elixir
@spec reset() :: :ok
```

清空整张表（仅测试用）。

---

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