From f2890cd4ab5f5e3fa8490e46229ec3b4a7d3e145 Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Thu, 22 Aug 2013 14:56:30 +0200 Subject: lua: move lua files to separate subdir --- src/lua/pingu.lua | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 src/lua/pingu.lua (limited to 'src/lua/pingu.lua') diff --git a/src/lua/pingu.lua b/src/lua/pingu.lua new file mode 100644 index 0000000..c29b276 --- /dev/null +++ b/src/lua/pingu.lua @@ -0,0 +1,49 @@ + +module(..., package.seeall) + + +local function run_command(self, cmd) + self.handle:write(cmd.."\n") + self.handle:flush() + + local t = {} + local line = self.handle:read("*line") + while line ~= "" do + local key, value = string.match(line, "^(.*): (.*)$") + t[key] = value + line = self.handle:read("*line") + end + return t +end + +local function host_status(self) + return self:run_command("host-status") +end + +local function gateway_status(self) + return self:run_command("gateway-status") +end + +local function close(self) + return self.handle:close() +end + +function connect(socket_path) + local socket = require("pingu.client") + local fh, err + if socket ~= nil then + fh, err = socket.open(socket_path) + end + if fh == nil then + return fh, err + end + return { + ["handle"] = fh, + ["run_command"] = run_command, + ["host_status"] = host_status, + ["gateway_status"] = gateway_status, + ["close"] = close + } +end + + -- cgit v1.2.3