Packages
livebook
0.17.3
0.19.8
0.19.7
0.19.6
0.19.5
0.19.4
0.19.3
0.19.2
0.19.1
0.19.0
0.18.6
0.18.5
0.18.4
0.18.3
0.18.2
0.18.1
0.18.0
0.17.3
0.17.2
0.17.1
0.17.0
0.16.4
0.16.3
0.16.2
0.16.1
0.16.0
0.15.5
0.15.4
0.15.3
0.15.2
0.15.1
0.15.0
0.14.7
0.14.6
0.14.5
0.14.4
0.14.3
0.14.2
0.14.1
0.14.0
0.14.0-rc.1
0.14.0-rc.0
0.13.3
0.13.2
0.13.1
0.13.0
0.12.1
0.12.0
0.11.4
0.11.3
0.11.2
0.11.1
0.11.0
0.10.0
0.9.3
0.9.2
0.9.1
0.9.0
0.8.2
0.8.1
0.8.0
0.7.2
0.7.1
0.7.0
0.6.3
0.6.2
0.6.1
0.6.0
0.5.2
0.5.1
0.5.0
0.4.1
0.4.0
0.3.2
0.3.1
0.3.0
0.2.3
0.2.2
0.2.1
0.2.0
0.1.2
0.1.1
0.1.0
Automate code & data workflows with interactive notebooks
Current section
Files
Jump to
Current section
Files
lib/livebook/runtime/erl_dist/smart_cell_gl.ex
defmodule Livebook.Runtime.ErlDist.SmartCellGL do
use GenServer
@spec start_link(pid()) :: GenServer.on_start()
def start_link(runtime_broadcast_to) do
GenServer.start_link(__MODULE__, {runtime_broadcast_to})
end
@impl true
def init({runtime_broadcast_to}) do
{:ok, %{runtime_broadcast_to: runtime_broadcast_to}}
end
@impl true
def handle_info({:io_request, from, reply_as, req}, state) do
case io_request(req, state) do
:forward ->
# Forward the request to own group leader
gl = Process.group_leader()
send(gl, {:io_request, from, reply_as, req})
{:reply, reply} ->
send(from, {:io_reply, reply_as, reply})
end
{:noreply, state}
end
defp io_request(:livebook_get_broadcast_target, state) do
{:reply, {:ok, state.runtime_broadcast_to}}
end
defp io_request(_req, _state) do
:forward
end
end