Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local param = ...
- dofile("bs/apis/wrapper")
- --initialization
- local args = bs.params.load("bs/files/furnace_receiver_params")
- local socket = bs.rdnt.socket:new()
- socket.port = args.port
- socket.hookID = args.hookID
- socket:connect(1)
- if param == "connect" then
- args.hookID = nil
- elseif param == "setup" then
- args.port = nil
- end
- local tasklist = {}
- --methods and classes
- local function setParams(setuptable)
- args.port = setuptable.port
- args.count = setuptable.count
- args.hookID = socket.hookID
- args.inputc = setuptable.inputc
- args.outputc = setuptable.outputc
- bs.params.save("bs/files/furnace_receiver_params", args)
- socket.port = args.port
- return 0, true
- end
- table.insert(socket.resources, {"setParams", setParams})
- local function newTask(taskt)
- table.insert(tasklist, taskt)
- end
- table.insert(socket.resources, {"newTask", newTask})
- local function doTask(task)
- end
- local function mainTaskHandler()
- while true do
- if tasklist[1] ~= nil then
- doTask(tasklist[1])
- table.remove(tasklist, 1)
- end
- sleep(2)
- end
- end
- local function mainListener()
- while true do
- socket:run()
- end
- end
- --program start
- if args.hookID == nil or args.port == nil then
- socket.port = "autofurnace"
- socket:connect()
- end
- parallel.waitForAll(mainListener, mainTaskHandler)
Add Comment
Please, Sign In to add comment