Neon1432

autofurnace_receiver

Feb 18th, 2022 (edited)
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.35 KB | None | 0 0
  1. local param = ...
  2. dofile("bs/apis/wrapper")
  3.  
  4.  
  5.  
  6. --initialization
  7.  
  8.  
  9.  
  10. local args = bs.params.load("bs/files/furnace_receiver_params")
  11.  
  12. local socket = bs.rdnt.socket:new()
  13. socket.port = args.port
  14. socket.hookID = args.hookID
  15. socket:connect(1)
  16.  
  17. if param == "connect" then
  18.     args.hookID = nil
  19. elseif param == "setup" then
  20.     args.port = nil
  21. end
  22.  
  23. local tasklist = {}
  24.  
  25.  
  26.  
  27. --methods and classes
  28.  
  29.  
  30.  
  31. local function setParams(setuptable)
  32.     args.port = setuptable.port
  33.     args.count = setuptable.count
  34.     args.hookID = socket.hookID
  35.     args.inputc = setuptable.inputc
  36.     args.outputc = setuptable.outputc
  37.  
  38.     bs.params.save("bs/files/furnace_receiver_params", args)
  39.     socket.port = args.port
  40.     return 0, true
  41. end
  42. table.insert(socket.resources, {"setParams", setParams})
  43.  
  44.  
  45.  
  46. local function newTask(taskt)
  47.     table.insert(tasklist, taskt)
  48. end
  49. table.insert(socket.resources, {"newTask", newTask})
  50.  
  51.  
  52.  
  53. local function doTask(task)
  54.  
  55. end
  56.  
  57.  
  58.  
  59. local function mainTaskHandler()
  60.     while true do
  61.         if tasklist[1] ~= nil then
  62.             doTask(tasklist[1])
  63.             table.remove(tasklist, 1)
  64.         end
  65.         sleep(2)
  66.     end
  67. end
  68.  
  69.  
  70.  
  71. local function mainListener()
  72.     while true do
  73.         socket:run()
  74.     end
  75. end
  76.  
  77.  
  78.  
  79. --program start
  80.  
  81.  
  82.  
  83. if args.hookID == nil or args.port == nil then
  84.     socket.port = "autofurnace"
  85.     socket:connect()
  86. end
  87.  
  88. parallel.waitForAll(mainListener, mainTaskHandler)
Add Comment
Please, Sign In to add comment