Files

22 lines
578 B
Elixir

defmodule Localiser.Web.Channels.ParticlesChannel do
use Phoenix.Channel
@impl true
def join("particles:" <> tag_id, _params, socket) do
Phoenix.PubSub.subscribe(Localiser.PubSub, "particles:#{tag_id}")
{:ok, assign(socket, :tag_id, tag_id)}
end
@impl true
def handle_info({:particles_updated, payload}, socket) do
push(socket, "particles_updated", %{
tag_id: payload.tag_id,
estimate: payload.estimate,
particles: payload.particles
})
{:noreply, socket}
end
def handle_info(_msg, socket), do: {:noreply, socket}
end