Summary
Types
@type cache() :: %{required(non_neg_integer()) => module() | rpc()}
@type kind() :: :notice | :request | :response
@type kind_or_unknown() :: kind() | :unknown
@type rpc_name() :: String.t()
@type t() :: %Soulless.Packet.GamePacket{ body: struct(), kind: kind(), request_id: non_neg_integer() | nil, rpc: rpc_name() | nil }