# `Electric.ShapeCache.PureFileStorage.KeyIndex`
[🔗](https://github.com/electric-sql/electric/tree/%40core/sync-service%401.6.2/packages/sync-service/lib/electric/shape_cache/pure_file_storage/key_index.ex#L1)

# `copy_adjusting_positions`

# `create_from_log`

# `expected_position`

# `make_entry`

```elixir
@spec make_entry(
  Electric.ShapeCache.PureFileStorage.LogFile.log_item_with_sizes(),
  non_neg_integer(),
  non_neg_integer()
) :: {iodata(), iodata_size :: non_neg_integer()}
```

# `read_key_file`

# `sort`

# `stream_for_actions`

# `trim`

# `write_from_stream`

This is a "side-write" function when log file is being written start-to-end.

"Live" keyfile appends shouldn't be done using this function because we're not controlling
flush points.

---

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