From 8a901ee2447e2a2f4f3abdd57bd67dbe5c575812 Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Thu, 22 Sep 2011 13:49:53 +0200 Subject: lua: added initial lua client --- pingu.lua | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 pingu.lua (limited to 'pingu.lua') diff --git a/pingu.lua b/pingu.lua new file mode 100644 index 0000000..02c3bb6 --- /dev/null +++ b/pingu.lua @@ -0,0 +1,39 @@ + +module(..., package.seeall) + + +local function status(self) + self.handle:write("status\n") + self.handle:flush() + + local t = {} + local line = self.handle:read("*line") + while line ~= "" do + local host, status = string.match(line, "^(.*): (.*)$") + t[host] = status + line = self.handle:read("*line") + end + return t +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, + ["status"] = status, + ["close"] = close + } +end + + -- cgit v1.2.3