Current section
Files
Jump to
Current section
Files
lib/hobot.ex
defmodule Hobot do
@moduledoc """
A bot framework for ErlangVM(beam)
"""
def start_link do
Registry.start_link(:duplicate, __MODULE__, [partitions: System.schedulers_online()])
end
def subscribe(topic) do
Registry.register(__MODULE__, topic, [])
end
def publish(topic, data) do
message = {:broadcast, topic, data}
Registry.dispatch(__MODULE__, topic, fn entries ->
for {pid, _} <- entries, do: GenServer.cast(pid, message)
end)
end
end