User Tools

Site Tools


cs330_f2016:lab13genserver

This is an old revision of the document!


nameserver.exs
defmodule NameServer do
  use GenServer
 
  def start_link() do
    GenServer.start_link(__MODULE__, [], [])
  end
 
  def start() do
    GenServer.start(__MODULE__, [],  [])
  end
 
  def register(name_server, name) do
    GenServer.call(name_server, {:register, name})
  end
 
  def register(name_server, name, pid) do
    GenServer.cast(name_server, {:register, name, pid})
  end
 
  def resolve(name_server, name) do
    GenServer.call(name_server, {:resolve, name})
  end
 
 
 
 
  def init(_) do
    #This would be a good place to start a new data structure for keeping pid names
    #Your code here
  end
 
  def handle_call(first_thing,second_thing,third_thing ) do
 
    #Change the parameter names appropriately
    #Your code here
 
  end
 
  def handle_call(first_thing,second_thing,third_thing) do
 
    #Change the parameter names appropriately
    #Your code here
 
  end
 
  def handle_cast(first_thing,second_thing ) do
 
    #Change the parameter names appropriately
    #Your code here
 
  end
 
  def handle_info({:DOWN, ref, :process, _pid, _reason}, state) do
 
    #The message received if a monitored process went down. You will need to remove the dead process from the registry.
    #Your code here
 
  end
 
 
 
 
  def handle_call(request, from, state) do
    super(request, from, state)
  end
 
  def handle_cast(request, state) do
    super(request, state)
  end
 
  def hande_info(_msg, state) do
    {:noreply, state}
  end
end
cs330_f2016/lab13genserver.1490388074.txt.gz · Last modified: 2021/06/30 23:40 (external edit)