# `ASM.Extensions.Persistence.Writer`
[🔗](https://github.com/nshkrdotcom/agent_session_manager/blob/v0.9.2/lib/asm/extensions/persistence/writer.ex#L1)

Async writer process that persists events outside the run process path.

# `t`

```elixir
@type t() :: %ASM.Extensions.Persistence.Writer{notify: pid() | nil, store: pid()}
```

# `child_spec`

Returns a specification to start this module under a supervisor.

See `Supervisor`.

# `enqueue`

```elixir
@spec enqueue(pid(), ASM.Event.t()) :: :ok
```

# `flush`

```elixir
@spec flush(pid(), timeout()) :: :ok | {:error, ASM.Error.t()}
```

# `start_link`

```elixir
@spec start_link(keyword()) :: GenServer.on_start()
```

---

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