aprs.me/lib/aprsme/is/login_params.ex
Graham McIntire 5ef97adaf7
refactor: promote hot-path GenServer state maps to structs
Converts the inline state maps in Is, PacketConsumer, LeaderElection, and
CircuitBreaker into structs with @type t specs. Enforced keys catch typos
on state updates and give dialyzer a concrete type to check against
instead of map() in every handle_* clause.

Is' nested login_params and packet_stats are extracted to their own
modules (Aprsme.Is.LoginParams, Aprsme.Is.PacketStats) rather than
defined inline, per the project's no-nested-modules rule.
2026-04-21 10:26:20 -05:00

10 lines
230 B
Elixir

defmodule Aprsme.Is.LoginParams do
@moduledoc false
defstruct [:user_id, :passcode, :filter]
@type t :: %__MODULE__{
user_id: String.t(),
passcode: String.t(),
filter: String.t()
}
end