1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
5 defmodule Pleroma.Web.Streamer do
6 alias Pleroma.Web.Streamer.State
7 alias Pleroma.Web.Streamer.Worker
12 def add_socket(topic, socket) do
13 State.add_socket(topic, socket)
16 def remove_socket(topic, socket) do
17 State.remove_socket(topic, socket)
24 def stream(topics, items) do
29 &Worker.stream(&1, topics, items),
36 def supervisor, do: Pleroma.Web.Streamer.Supervisor
39 handle_should_send(@mix_env)
42 defp handle_should_send(:test) do
43 case Process.whereis(:streamer_worker) do
52 defp handle_should_send(:benchmark), do: false
54 defp handle_should_send(_), do: true