# channel_client v0.1.0 - Table of Contents

> Phoenix Channels client. Support JSON/TOON/BTOON format.

## Pages

- [ChannelClient](readme.md)

- guides
  - [Wire formats](formats.md)
  - [Plugs: middleware for channel messages](plugs.md)
  - [Telemetry &amp; tracing](telemetry.md)

## Modules

- [ChannelClient](ChannelClient.md): Connect to Phoenix Channels from Elixir.
- [ChannelClient.Channel](ChannelClient.Channel.md): A client process bound to one channel topic on a `ChannelClient.Socket`.
- [ChannelClient.ChannelSupervisor](ChannelClient.ChannelSupervisor.md)
- [ChannelClient.Format](ChannelClient.Format.md): Behaviour for pluggable wire formats.
- [ChannelClient.Formats.BTOON](ChannelClient.Formats.BTOON.md): BTOON — the binary variant of the TOON format.
- [ChannelClient.Formats.ETF](ChannelClient.Formats.ETF.md): Erlang External Term Format (`:etf`), carrying the protocol v2 array
shape `[join_ref, ref, topic, event, payload]`.
- [ChannelClient.Formats.JSON](ChannelClient.Formats.JSON.md): Phoenix Channels JSON format (the default).
- [ChannelClient.Formats.TOON](ChannelClient.Formats.TOON.md): TOON (Token-Oriented Object Notation) wire format — compact, text-based.
- [ChannelClient.Message](ChannelClient.Message.md): A struct representing a single Phoenix channel message.
- [ChannelClient.Message.V1](ChannelClient.Message.V1.md): Phoenix Channels protocol `1.0.0` serializer.
- [ChannelClient.Message.V2](ChannelClient.Message.V2.md): Phoenix Channels protocol `2.0.0` serializer.
- [ChannelClient.Plug](ChannelClient.Plug.md): A behaviour for pluggable message middleware, modelled after Phoenix's
`Plug`.
- [ChannelClient.Plugs.FilterEvents](ChannelClient.Plugs.FilterEvents.md): Halts the pipeline for messages whose event matches a blocklist.
- [ChannelClient.Plugs.Logger](ChannelClient.Plugs.Logger.md): Logs every message flowing through a pipeline.
- [ChannelClient.Socket](ChannelClient.Socket.md): A GenServer holding the WebSocket connection to a Phoenix endpoint.
- [ChannelClient.Telemetry](ChannelClient.Telemetry.md): Telemetry events emitted by ChannelClient.
- [ChannelClient.Transport](ChannelClient.Transport.md): Behaviour for socket transports used by `ChannelClient.Socket`.
- [ChannelClient.Transports.Websocket](ChannelClient.Transports.Websocket.md): WebSocket transport for `ChannelClient.Socket`, built on the
`:websocket_client` library.

