Packages

A real-time time series database.

Retired package: I'll never finish it

Current section

Files

Jump to
phasedb_server lib phasedb server protocol.ex
Raw

lib/phasedb/server/protocol.ex

defmodule PhaseDB.Server.Protocol do
alias PhaseDB.{Result, Session, Request}
def init_message do
Result.new(
fields: ~w|server_version engine_version|,
rows: [
[PhaseDB.Server.version, PhaseDB.version]
]
)
end
def handle(json, session_pid) when is_binary(json) do
handle Request.from_json(json), session_pid
end
def handle %Request{id: id, query: query}, session_pid do
response =
session_pid
|> Session.query(query)
%{response | id: id}
|> Poison.encode!
end
def error(message), do: Result.error(message)
end