# `Tay.Storage.Native`
[🔗](https://github.com/AndriiSydorenko1904/tay/blob/v1.6.1/lib/tay/storage/native.ex#L1)

Internal, versioned filesystem Port protocol. Calls run only in the Port owner.
Every uncertain operation poisons this connection; it is never retried.
The helper is the sole holder of locks and writable descriptors.

# `t`

```elixir
@type t() :: %Tay.Storage.Native{
  cold?: term(),
  deadline: term(),
  delegate: term(),
  facts: term(),
  generation: term(),
  owner: term(),
  port: term(),
  timeout: term()
}
```

# `check`

# `close`

# `close_read`

# `close_write`

# `create_stage`

# `enable_mutations`

Promotes this continuously held inspection session; never reacquires ownership.

# `info`

# `list`

# `open`

# `open_active`

# `open_existing`

Acquires only existing ownership objects; no creation or sync is allowed.

# `open_if_missing`

Creates and acquires a missing root, or acquires a pre-existing root without mutation.

# `open_read`

# `publish`

# `read`

# `shutdown`

# `sync`

# `sync_dir`

# `sync_read`

# `v2_begin`

Creates a private candidate epoch and its segments directory under the held lock.

# `v2_publish_current`

# `v2_publish_epoch`

# `v2_reclaim`

Unlinks only a verified non-CURRENT predecessor via pinned descriptors.

# `v2_select`

Pins the CURRENT-named epoch and its mutable segments directory.

# `v2_space`

# `write`

---

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