aboutsummaryrefslogtreecommitdiff
path: root/library
diff options
context:
space:
mode:
Diffstat (limited to 'library')
-rw-r--r--library/lullaby/net.lua13
-rw-r--r--library/lullaby/thread.lua46
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