diff options
Diffstat (limited to 'library')
| -rw-r--r-- | library/lullaby/net.lua | 13 | ||||
| -rw-r--r-- | library/lullaby/thread.lua | 46 |
2 files changed, 47 insertions, 12 deletions
diff --git a/library/lullaby/net.lua b/library/lullaby/net.lua index 416851f..080c73d 100644 --- a/library/lullaby/net.lua +++ b/library/lullaby/net.lua @@ -19,6 +19,7 @@ function res_table.send(T, value) end ---autosets Content-Type and sends contents of file to client and closes socket ---@param T res-table ---@param value string +---@return error | nil error function res_table.sendfile(T, value) end ---sends value to client and doesn't close the socket @@ -125,6 +126,10 @@ function server_table.PATCH(T, route, callback) end ---@param callback fun(res: res-table, req: req-table) function server_table.all(T, route, callback) end +---sends a signal to stop accepting requests, server will shutdown, but already accepted ones will still continue +---@param T server-table +function server_table.close(T) end + ---@param server server-table local function listen_callback(server) end @@ -146,6 +151,14 @@ function net.listen(callback, port) end ---@return request-return | error function net.srequest(url, content, header, request) end +---creates an http request +---@param url string +---@param content string | nil +---@param header table<string, string> | nil +---@param request string | nil +---@return request-return | error +function net.request(url, content, header, request) end + ---@class wss-table local wss = {} diff --git a/library/lullaby/thread.lua b/library/lullaby/thread.lua index 6015a0b..43e897d 100644 --- a/library/lullaby/thread.lua +++ b/library/lullaby/thread.lua @@ -16,18 +16,41 @@ function async.await(T) end ---@return nil function async.clean(T) end ----stops the thread +---waits for the thread to either call res:testcancel() or for it to exit ---@param T async-table ---@return nil function async.close(T) end +---stops the thread forcefully, may cause problems, likely not thread-safe +---@param T async-table +---@return nil +function async.kill(T) end + ---contains data for the thread ---@deprecated ---@type lightuserdata async._ = nil +---@class async-res-table +---@overload fun(a: any): nil +local asyncres = setmetatable({}, { + __call = function() end +}) + +---checks if the thread is being requested to close with thread:close() +---@param T async-res-table +---@return nil +function asyncres.testclose(T) end + +---calls res:testclose every line +---@param T async-res-table +---@return nil +function asyncres.autoclose(T) end +---@meta + ---@async ----@param fun fun(res: fun(...)): nil function to call, parameter will set a return value for the thread +---@nodiscard +---@param fun fun(res: async-res-table): nil function to call, parameter will set a return value for the thread, also contains methods for thread managment ---@return async-table function thread.async(fun) end @@ -51,21 +74,12 @@ function buffer.set(T, value) end ---@return nil function buffer.mod(T, fun) end +---@nodiscard ---puts a value into a atomic thread-safe buffer ---@param value any ---@return buffer-table function thread.buffer(value) end ----locks any thread reaching this lock id until a corresponding unlock is met ----@param tid integer ----@return nil -function thread.lock(tid) end - ----unlocks a lock id ----@param tid integer ----@return nil -function thread.unlock(tid) end - ---@deprecated function thread.testcopy() end @@ -91,4 +105,12 @@ function mutex.free(T) end ---@return mutex-table function thread.mutex() end +---puts the thread to sleep for N microseconds +---@param N integer +function thread.usleep(N) end + +---puts the thread to sleep for N seconds +---@param N number +function thread.sleep(N) end + return thread |
