diff options
Diffstat (limited to 'meta/3rd/luv/library/uv_handle_t.lua')
-rw-r--r-- | meta/3rd/luv/library/uv_handle_t.lua | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/meta/3rd/luv/library/uv_handle_t.lua b/meta/3rd/luv/library/uv_handle_t.lua new file mode 100644 index 00000000..b0d25bc1 --- /dev/null +++ b/meta/3rd/luv/library/uv_handle_t.lua @@ -0,0 +1,132 @@ +---@meta + +--- Base handle +--- +--- `uv_handle_t` is the base type for all libuv handle types. All API functions +--- defined here work with any handle type. +--- +---@class uv.uv_handle_t : table +--- +local handle + +--- Request handle to be closed. +--- +--- The `callback` will be called asynchronously after this call. +--- +--- This MUST be called on each handle before memory is released. +--- +--- Handles that wrap file descriptors are closed immediately but `callback` will +--- still be deferred to the next iteration of the event loop. It gives you a chance +--- to free up any resources associated with the handle. +--- +--- In-progress requests, like `uv_connect_t` or `uv_write_t`, are cancelled and +--- have their callbacks called asynchronously with `ECANCELED`. +--- +---@param callback? function +function handle:close(callback) end + +--- Gets the platform dependent file descriptor equivalent. +--- +--- The following handles are supported: TCP, pipes, TTY, UDP and poll. Calling +--- this method on other handle type will fail with `EINVAL`. +--- +--- If a handle doesn't have an attached file descriptor yet or the handle itself +--- has been closed, this function will return `EBADF`. +--- +--- **Warning**: Be very careful when using this function. libuv assumes it's in +--- control of the file descriptor so any change to it may lead to malfunction. +--- +---@return integer|nil fileno +---@return uv.error.message|nil err +---@return uv.error.name|nil err_name +function handle:fileno() end + +--- Returns the name of the struct for a given handle (e.g. `"pipe"` for `uv_pipe_t`) +--- and the libuv enum integer for the handle's type (`uv_handle_type`). +--- +---@return string type +---@return integer enum +function handle:get_type() end + +--- Returns `true` if the handle referenced, `false` if not. +--- +---@return boolean|nil has_ref +---@return uv.error.message|nil err +---@return uv.error.name|nil err_name +function handle:has_ref() end + +--- Returns `true` if the handle is active, `false` if it's inactive. +--- +--- What "activeā€¯ means depends on the type of handle: +--- +--- - A `uv_async_t` handle is always active and cannot be deactivated, except by closing it with `uv.close()`. +--- +--- - A `uv_pipe_t`, `uv_tcp_t`, `uv_udp_t`, etc. handle - basically any handle that deals with I/O - is active when it is doing something that involves I/O, like reading, writing, connecting, accepting new connections, etc. +--- +--- - A `uv_check_t`, `uv_idle_t`, `uv_timer_t`, etc. handle is active when it has been started with a call to `uv.check_start()`, `uv.idle_start()`, `uv.timer_start()` etc. until it has been stopped with a call to its respective stop function. +--- +---@return boolean|nil active +---@return uv.error.message|nil err +---@return uv.error.name|nil err_name +function handle:is_active() end + +--- Returns `true` if the handle is closing or closed, `false` otherwise. +--- +--- **Note**: This function should only be used between the initialization of the +--- handle and the arrival of the close callback. +--- +---@return boolean|nil closing +---@return uv.error.message|nil err +---@return uv.error.name|nil err_name +function handle:is_closing() end + +--- Gets or sets the size of the receive buffer that the operating system uses for +--- the socket. +--- +--- If `size` is omitted (or `0`), this will return the current send buffer size; otherwise, this will use `size` to set the new send buffer size. +--- +--- This function works for TCP, pipe and UDP handles on Unix and for TCP and UDP +--- handles on Windows. +--- +--- **Note**: Linux will set double the size and return double the size of the +--- original set value. +--- +---@param size integer +---@return 0|nil success +---@return uv.error.message|nil err +---@return uv.error.name|nil err_name +--- +---@overload fun(self):(current_size:integer|nil, err:uv.error.message|nil, err_name:uv.error.name|nil) +---@overload fun(self, size: 0):(current_size:integer|nil, err:uv.error.message|nil, err_name:uv.error.name|nil) +function handle:recv_buffer_size(size) end + +--- Reference the given handle. +--- +--- References are idempotent, that is, if a handle is already referenced calling this function again will have no effect. +function handle:ref() end + + +--- Gets or sets the size of the send buffer that the operating system uses for the +--- socket. +--- +--- If `size` is omitted (or `0`), this will return the current send buffer size; otherwise, this will use `size` to set the new send buffer size. +--- +--- This function works for TCP, pipe and UDP handles on Unix and for TCP and UDP +--- handles on Windows. +--- +--- **Note**: Linux will set double the size and return double the size of the +--- original set value. +--- +---@param size integer +---@return integer|nil success +---@return uv.error.message|nil err +---@return uv.error.name|nil err_name +--- +---@overload fun(self):(current_size:integer|nil, err:uv.error.message|nil, err_name:uv.error.name|nil) +---@overload fun(self, size: 0):(current_size:integer|nil, err:uv.error.message|nil, err_name:uv.error.name|nil) +function handle:send_buffer_size(size) end + + +--- Un-reference the given handle. References are idempotent, that is, if a handle +--- is not referenced calling this function again will have no effect. +function handle:unref() end
\ No newline at end of file |