Current section

Files

Jump to
phoenix_socket_client lib phoenix socket_client channel state.ex
Raw

lib/phoenix/socket_client/channel/state.ex

defmodule Phoenix.SocketClient.Channel.State do
@moduledoc """
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 :: %__MODULE__{
caller: pid() | nil,
sup_pid: pid(),
socket_pid: pid(),
topic: String.t(),
params: map(),
pushes: list(),
join_ref: String.t() | nil,
hooks: map(),
registry_name: atom(),
join_start_time: integer() | nil,
leave_start_time: integer() | nil
}
defstruct caller: nil,
sup_pid: nil,
socket_pid: nil,
topic: nil,
params: %{},
pushes: [],
join_ref: nil,
hooks: %{},
registry_name: nil,
join_start_time: nil,
leave_start_time: nil
end