Parsed documentation:
View on GitHub
Replies asynchronously to a socket push.

Useful when you need to reply to a push that can't otherwise be handled using
the `{:reply, {status, payload}, socket}` return from your `handle_in`
callbacks. `reply/2` will be used in the rare cases you need to perform work in
another process and reply when finished by generating a reference to the push
with `socket_ref/1`.

*Note*: In such cases, a `socket_ref` should be generated and
passed to the external process, so the `socket` itself is not leaked outside
the channel. The `socket` holds information such as assigns and transport
configuration, so it's important to not copy this information outside of the
channel that owns it.

## Examples

    def handle_in("work", payload, socket) do
      Worker.perform(payload, socket_ref(socket))
      {:noreply, socket}

    def handle_info({:work_complete, result, ref}, socket) do
      reply(ref, {:ok, result})
      {:noreply, socket}
Please help! Open an issue on GitHub if this assessment is incorrect.