diff options
Diffstat (limited to 'meta/3rd/luv/library/uv_stream_t.lua')
m--------- | meta/3rd/luv | 0 | ||||
-rw-r--r-- | meta/3rd/luv/library/uv_stream_t.lua | 173 |
2 files changed, 0 insertions, 173 deletions
diff --git a/meta/3rd/luv b/meta/3rd/luv new file mode 160000 +Subproject 3615eb12c94a7cfa7184b8488cf908abb5e94c9 diff --git a/meta/3rd/luv/library/uv_stream_t.lua b/meta/3rd/luv/library/uv_stream_t.lua deleted file mode 100644 index 2de883b7..00000000 --- a/meta/3rd/luv/library/uv_stream_t.lua +++ /dev/null @@ -1,173 +0,0 @@ ----@meta - ---- Stream handles provide an abstraction of a duplex communication channel. ---- `uv_stream_t` is an abstract type, libuv provides 3 stream implementations ---- in the form of `uv_tcp_t`, `uv_pipe_t` and `uv_tty_t`. ---- ----@class uv.uv_stream_t : uv.uv_handle_t ---- -local stream - ---- This call is used in conjunction with `uv.listen()` to accept incoming ---- connections. Call this function after receiving a callback to accept the ---- connection. ---- ---- When the connection callback is called it is guaranteed that this function ---- will complete successfully the first time. If you attempt to use it more than ---- once, it may fail. It is suggested to only call this function once per ---- connection call. ---- ---- ```lua ---- server:listen(128, function (err) ---- local client = uv.new_tcp() ---- server:accept(client) ---- end) ---- ``` ---- ----@param client_stream uv.uv_stream_t ----@return 0|nil success ----@return uv.error.message|nil err ----@return uv.error.name|nil err_name -function stream:accept(client_stream) end - ---- Returns the stream's write queue size. ---- ----@return integer size -function stream:get_write_queue_size() end - ---- Returns `true` if the stream is readable, `false` otherwise. ---- ----@return boolean readable -function stream:is_readable() end - ---- Returns `true` if the stream is writable, `false` otherwise. ---- ----@return boolean writable -function stream:is_writable() end - ---- Start listening for incoming connections. ---- ---- `backlog` indicates the number of connections the kernel might queue, same as `listen(2)`. ---- ---- When a new incoming connection is received the callback is called. ---- ----@param backlog integer ----@param callback uv.listen.callback ----@return 0|nil success ----@return uv.error.message|nil err ----@return uv.error.name|nil err_name -function stream:listen(backlog, callback) end - ---- Read data from an incoming stream. ---- ---- The callback will be made several times until there is no more data to read or `stream:read_stop()` is called. ---- ---- When we've reached EOF, `data` will be `nil`. ---- ---- ```lua ---- stream:read_start(function (err, chunk) ---- if err then ---- -- handle read error ---- elseif chunk then ---- -- handle data ---- else ---- -- handle disconnect ---- end ---- end) ---- ``` ---- ----@param callback uv.read_start.callback ----@return 0|nil success ----@return uv.error.message|nil err ----@return uv.error.name|nil err_name -function stream:read_start(callback) end - ---- Stop reading data from the stream. ---- ---- The read callback will no longer be called. ---- ---- This function is idempotent and may be safely called on a stopped stream. ---- ----@return 0|nil success ----@return uv.error.message|nil err ----@return uv.error.name|nil err_name -function stream:read_stop() end - ---- Enable or disable blocking mode for a stream. ---- ---- When blocking mode is enabled all writes complete synchronously. The interface ---- remains unchanged otherwise, e.g. completion or failure of the operation will ---- still be reported through a callback which is made asynchronously. ---- ---- **Warning**: Relying too much on this API is not recommended. It is likely to ---- change significantly in the future. Currently this only works on Windows and ---- only for `uv_pipe_t` handles. Also libuv currently makes no ordering guarantee ---- when the blocking mode is changed after write requests have already been ---- submitted. Therefore it is recommended to set the blocking mode immediately ---- after opening or creating the stream. ---- ----@param blocking boolean ----@return 0|nil success ----@return uv.error.message|nil err ----@return uv.error.name|nil err_name -function stream:set_blocking(blocking) end - ---- Shutdown the outgoing (write) side of a duplex stream. It waits for pending ---- write requests to complete. The callback is called after shutdown is complete. ---- ----@param callback? uv.shutdown.callback ----@return uv.uv_shutdown_t|nil shutdown ----@return uv.error.message|nil err ----@return uv.error.name|nil err_name -function stream:shutdown(callback) end - ---- Same as `stream:write()`, but won't queue a write request if it can't be completed ---- immediately. ---- ---- Will return number of bytes written (can be less than the supplied buffer size). ---- ----@param data uv.buffer ----@return integer|nil bytes ----@return uv.error.message|nil err ----@return uv.error.name|nil err_name -function stream:try_write(data) end - ---- Like `stream:write2()`, but with the properties of `stream:try_write()`. Not supported on Windows, where it returns `UV_EAGAIN`. ---- ---- Will return number of bytes written (can be less than the supplied buffer size). ---- ----@param data uv.buffer ----@param send_handle uv.uv_stream_t ----@return integer|nil bytes ----@return uv.error.message|nil err ----@return uv.error.name|nil err_name -function stream:try_write2(data, send_handle) end - ---- Write data to stream. ---- ---- `data` can either be a Lua string or a table of strings. If a table is passed ---- in, the C backend will use writev to send all strings in a single system call. ---- ---- The optional `callback` is for knowing when the write is complete. ---- ----@param data uv.buffer ----@param callback? uv.write.callback ----@return uv.uv_write_t|nil bytes ----@return uv.error.message|nil err ----@return uv.error.name|nil err_name -function stream:write(data, callback) end - ---- Extended write function for sending handles over a pipe. The pipe must be ---- initialized with `ipc` option `true`. ---- ---- **Note:** `send_handle` must be a TCP socket or pipe, which is a server or a ---- connection (listening or connected state). Bound sockets or pipes will be ---- assumed to be servers. ---- ----@param data uv.buffer ----@param send_handle uv.uv_stream_t ----@param callback? uv.write2.callback ----@return uv.uv_write_t|nil write ----@return uv.error.message|nil err ----@return uv.error.name|nil err_name -function stream:write2(data, send_handle, callback) end
\ No newline at end of file |