View Source Phoenix.Socket.Serializer behaviour (Phoenix v1.7.18)

A behaviour that serializes incoming and outgoing socket messages.

By default Phoenix provides a serializer that encodes to JSON and decodes JSON messages.

Custom serializers may be configured in the socket.

Summary

Callbacks

Decodes iodata into Phoenix.Socket.Message struct.

Encodes Phoenix.Socket.Message and Phoenix.Socket.Reply structs to push format.

Encodes a Phoenix.Socket.Broadcast struct to fastlane format.

Callbacks

decode!(iodata, options)

@callback decode!(iodata(), options :: Keyword.t()) :: Phoenix.Socket.Message.t()

Decodes iodata into Phoenix.Socket.Message struct.

encode!(arg1)

@callback encode!(Phoenix.Socket.Message.t() | Phoenix.Socket.Reply.t()) ::
  {:socket_push, :text, iodata()} | {:socket_push, :binary, iodata()}

Encodes Phoenix.Socket.Message and Phoenix.Socket.Reply structs to push format.

fastlane!(t)

@callback fastlane!(Phoenix.Socket.Broadcast.t()) ::
  {:socket_push, :text, iodata()} | {:socket_push, :binary, iodata()}

Encodes a Phoenix.Socket.Broadcast struct to fastlane format.