#!/usr/bin/lua
--
--  rhnop
--
--  Copyright (C) 2011 Christian Pointner <equinox@helsinki.at>
--
--  This file is part of rhnop.
--
--  rhnop is free software: you can redistribute it and/or modify
--  it under the terms of the GNU General Public License as published by
--  the Free Software Foundation, either version 3 of the License, or
--  any later version.
--
--  rhnop is distributed in the hope that it will be useful,
--  but WITHOUT ANY WARRANTY; without even the implied warranty of
--  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
--  GNU General Public License for more details.
--
--  You should have received a copy of the GNU General Public License
--  along with rhnop. If not, see <http://www.gnu.org/licenses/>.
--
--
--  send now and next cart# and length to nopsyncd
--  this script should be called by the now/next macro cart
--  the arguments should be:  now# nowlen next# nextlen
--

require "socket"

conf = require "conf"

-- connect to server (reconnect after error)
local sock = assert(socket.tcp())

local ret, err = sock:connect(conf.host, conf.port)
if ret == nil then
   print(err)
   return 1
end

print "connection established"

-- TODO: load all info we don't have yet

while true do
   local timestamp = sock:receive('*l')
   -- TODO: check if connection is closed
   print("received: '" .. timestamp .. "'")

   -- TODO: check if we already fetched that timestamp
   -- TODO: fetch info for the timestamp and insert it into local db
end
sock:close()
return 0