Packages

A simple kademlia implementation

Current section

Files

Jump to
exkad lib backends simple.ex
Raw

lib/backends/simple.ex

defmodule Exkad.Backends.Simple do
alias Exkad.Node.Descriptor, as: ND
def transport, do: nil
def ping(%ND{loc: server}, from_desc) do
GenServer.call(server, {:ping, from_desc})
end
def dump(server) do
GenServer.call(server, :dump)
end
def describe(server) do
GenServer.call(server, :describe)
end
def put(%ND{loc: server}, value) do
GenServer.call(server, {:put, value})
end
def put_meta(%ND{loc: server}, term, ptr) do
GenServer.call(server, {:put_meta, term, ptr})
end
def search(%ND{loc: server}, key) do
GenServer.call(server, {:search, key})
end
def find(%ND{loc: server}, id, from_desc) do
GenServer.call(server, {:find, id, from_desc})
end
def get(%ND{loc: server}, key) do
GenServer.call(server, {:get, key})
end
def search(%ND{loc: server}, term) do
GenServer.search(server, term)
end
end