State structure for Phoenix Socket Client channel processes.
Maintains the state of individual channel connections including topic, params, pending pushes, and registered hooks.
@type t() :: %Phoenix.SocketClient.Channel.State{ caller: pid() | nil, hooks: map(), join_ref: String.t() | nil, join_start_time: integer() | nil, leave_start_time: integer() | nil, params: map(), pushes: list(), registry_name: atom(), socket_pid: pid(), sup_pid: pid(), topic: String.t() }