Current section
Files
Jump to
Current section
Files
lib/pi/eval/context.ex
defmodule Pi.Eval.Context do
@moduledoc false
@control_key {__MODULE__, :control}
@binding_info_key {__MODULE__, :binding_info}
@session_id_key {__MODULE__, :session_id}
def prepare(session_id, binding_info) do
Process.put(@session_id_key, session_id)
Process.put(@binding_info_key, binding_info)
Process.delete(@control_key)
:ok
end
def clear do
Process.delete(@session_id_key)
Process.delete(@binding_info_key)
:ok
end
def session_id, do: Process.get(@session_id_key)
def binding_info, do: Process.get(@binding_info_key, [])
def take_control, do: Process.delete(@control_key)
def put_control(control), do: Process.put(@control_key, control)
end