In-memory ring buffer for Matter events.
Each device gets one EventStore GenServer. Events have a monotonically increasing event number (global across all clusters) and a priority (debug/info/critical). When the buffer is full, lowest-priority events are evicted first.
Summary
Functions
Returns a specification to start this module under a supervisor.
Types
@type event() :: %{ number: non_neg_integer(), endpoint: non_neg_integer(), cluster: non_neg_integer(), event: non_neg_integer(), priority: non_neg_integer(), system_timestamp: integer(), data: map() }
Functions
Returns a specification to start this module under a supervisor.
See Supervisor.
@spec emit( GenServer.name(), non_neg_integer(), non_neg_integer(), non_neg_integer(), non_neg_integer(), map() ) :: :ok
@spec read(GenServer.name(), [map()], non_neg_integer()) :: [event()]