# `ASM.Store.Memory`
[🔗](https://github.com/nshkrdotcom/agent_session_manager/blob/v0.9.2/lib/asm/store/memory.ex#L1)

In-memory event store with idempotent append by event id.

# `event_queue`

```elixir
@type event_queue() :: :queue.queue(ASM.Event.t())
```

# `t`

```elixir
@type t() :: %ASM.Store.Memory{
  by_session: %{optional(String.t()) =&gt; event_queue()},
  by_session_event_ids: %{optional(String.t()) =&gt; MapSet.t(String.t())},
  seen_event_ids: MapSet.t(String.t())
}
```

# `child_spec`

Returns a specification to start this module under a supervisor.

See `Supervisor`.

# `start_link`

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

---

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