Renderer-local buffer monitor and consumed-version owner.
Versions are retained only for currently monitored buffers. Exact :DOWN
matching removes both the monitor reference and the recorded version, while
stale :DOWN messages are ignored.
Summary
Types
@type t() :: %MingaEditor.Renderer.ObservedBuffers{ monitors: %{optional(pid()) => reference()}, versions: %{optional(pid()) => non_neg_integer()} }
Functions
@spec monitored_versions(t(), %{optional(pid()) => non_neg_integer()}) :: %{ optional(pid()) => non_neg_integer() }
@spec new() :: t()
@spec record_version(t(), pid(), non_neg_integer()) :: t()
@spec recorded_version(t(), pid()) :: non_neg_integer() | nil