diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2015-09-01 16:44:03 +0200 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2015-09-01 16:44:03 +0200 |
commit | 00e2b03927b5c107aefef1c71ef14facd4c3cb77 (patch) | |
tree | c6ad87ea21b6d026290537e70e054df2cbb8d682 /documentation/api/modules/nixio.UnifiedIO.html | |
parent | ed1a6416964df17b3a76a7043734d0fde4a6bd41 (diff) |
Move doc/ to documentation/api/
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
Diffstat (limited to 'documentation/api/modules/nixio.UnifiedIO.html')
-rw-r--r-- | documentation/api/modules/nixio.UnifiedIO.html | 735 |
1 files changed, 735 insertions, 0 deletions
diff --git a/documentation/api/modules/nixio.UnifiedIO.html b/documentation/api/modules/nixio.UnifiedIO.html new file mode 100644 index 0000000000..576c23feda --- /dev/null +++ b/documentation/api/modules/nixio.UnifiedIO.html @@ -0,0 +1,735 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html> +<head> + <title>Reference</title> + <link rel="stylesheet" href="../luadoc.css" type="text/css" /> + <!--meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/--> +</head> + +<body> +<div id="container"> + +<div id="product"> + <div id="product_logo"></div> + <div id="product_name"><big><b></b></big></div> + <div id="product_description"></div> +</div> <!-- id="product" --> + +<div id="main"> + +<div id="navigation"> + + +<h1>LuaDoc</h1> +<ul> + + <li><a href="../index.html">Index</a></li> + +</ul> + + +<!-- Module list --> + +<h1>Modules</h1> +<ul> + + <li> + <a href="../modules/luci.dispatcher.html">luci.dispatcher</a> + </li> + + <li> + <a href="../modules/luci.http.protocol.html">luci.http.protocol</a> + </li> + + <li> + <a href="../modules/luci.http.protocol.conditionals.html">luci.http.protocol.conditionals</a> + </li> + + <li> + <a href="../modules/luci.http.protocol.date.html">luci.http.protocol.date</a> + </li> + + <li> + <a href="../modules/luci.http.protocol.mime.html">luci.http.protocol.mime</a> + </li> + + <li> + <a href="../modules/luci.i18n.html">luci.i18n</a> + </li> + + <li> + <a href="../modules/luci.ip.html">luci.ip</a> + </li> + + <li> + <a href="../modules/luci.ip.cidr.html">luci.ip.cidr</a> + </li> + + <li> + <a href="../modules/luci.jsonc.html">luci.jsonc</a> + </li> + + <li> + <a href="../modules/luci.jsonc.parser.html">luci.jsonc.parser</a> + </li> + + <li> + <a href="../modules/luci.sys.init.html">luci.sys.init</a> + </li> + + <li> + <a href="../modules/luci.sys.iptparser.html">luci.sys.iptparser</a> + </li> + + <li> + <a href="../modules/luci.sys.net.html">luci.sys.net</a> + </li> + + <li> + <a href="../modules/luci.sys.process.html">luci.sys.process</a> + </li> + + <li> + <a href="../modules/luci.sys.user.html">luci.sys.user</a> + </li> + + <li> + <a href="../modules/luci.sys.wifi.html">luci.sys.wifi</a> + </li> + + <li> + <a href="../modules/nixio.html">nixio</a> + </li> + + <li> + <a href="../modules/nixio.CHANGELOG.html">nixio.CHANGELOG</a> + </li> + + <li> + <a href="../modules/nixio.CryptoHash.html">nixio.CryptoHash</a> + </li> + + <li> + <a href="../modules/nixio.File.html">nixio.File</a> + </li> + + <li> + <a href="../modules/nixio.README.html">nixio.README</a> + </li> + + <li> + <a href="../modules/nixio.Socket.html">nixio.Socket</a> + </li> + + <li> + <a href="../modules/nixio.TLSContext.html">nixio.TLSContext</a> + </li> + + <li> + <a href="../modules/nixio.TLSSocket.html">nixio.TLSSocket</a> + </li> + + <li><strong>nixio.UnifiedIO</strong></li> + + <li> + <a href="../modules/nixio.bin.html">nixio.bin</a> + </li> + + <li> + <a href="../modules/nixio.bit.html">nixio.bit</a> + </li> + + <li> + <a href="../modules/nixio.crypto.html">nixio.crypto</a> + </li> + + <li> + <a href="../modules/nixio.fs.html">nixio.fs</a> + </li> + +</ul> + + + +<!-- File list --> + + + + + + + +</div><!-- id="navigation" --> + +<div id="content"> + +<h1>Object Instance <code>nixio.UnifiedIO</code></h1> + +<p> + Unified high-level I/O utility API for Files, Sockets and TLS-Sockets. + These functions are added to the object function tables by doing <strong> + require "nixio.util"</strong>, can be used on all nixio IO Descriptors and + are based on the shared low-level read() and write() functions.</p> + + + + + + + +<h2>Functions</h2> +<table class="function_list"> + + <tr> + <td class="name" nowrap><a href="#UnifiedIO.blocksource">UnifiedIO:blocksource</a> (blocksize, limit)</td> + <td class="summary"> + Create a block-based iterator.</td> + </tr> + + <tr> + <td class="name" nowrap><a href="#UnifiedIO.close">UnifiedIO:close</a> ()</td> + <td class="summary"> + Close the descriptor.</td> + </tr> + + <tr> + <td class="name" nowrap><a href="#UnifiedIO.copy">UnifiedIO:copy</a> (fdout, size)</td> + <td class="summary"> + Copy data from the current descriptor to another one.</td> + </tr> + + <tr> + <td class="name" nowrap><a href="#UnifiedIO.copyz">UnifiedIO:copyz</a> (fdout, size)</td> + <td class="summary"> + Copy data from the current descriptor to another one using kernel-space + copying if possible.</td> + </tr> + + <tr> + <td class="name" nowrap><a href="#UnifiedIO.is_file">UnifiedIO:is_file</a> ()</td> + <td class="summary"> + Test whether the I/O-Descriptor is a file.</td> + </tr> + + <tr> + <td class="name" nowrap><a href="#UnifiedIO.is_socket">UnifiedIO:is_socket</a> ()</td> + <td class="summary"> + Test whether the I/O-Descriptor is a socket.</td> + </tr> + + <tr> + <td class="name" nowrap><a href="#UnifiedIO.is_tls_socket">UnifiedIO:is_tls_socket</a> ()</td> + <td class="summary"> + Test whether the I/O-Descriptor is a TLS socket.</td> + </tr> + + <tr> + <td class="name" nowrap><a href="#UnifiedIO.linesource">UnifiedIO:linesource</a> (limit)</td> + <td class="summary"> + Create a line-based iterator.</td> + </tr> + + <tr> + <td class="name" nowrap><a href="#UnifiedIO.readall">UnifiedIO:readall</a> (length)</td> + <td class="summary"> + Read a block of data and wait until all data is available.</td> + </tr> + + <tr> + <td class="name" nowrap><a href="#UnifiedIO.sink">UnifiedIO:sink</a> (close_when_done)</td> + <td class="summary"> + Create a sink.</td> + </tr> + + <tr> + <td class="name" nowrap><a href="#UnifiedIO.writeall">UnifiedIO:writeall</a> (block)</td> + <td class="summary"> + Write a block of data and wait until all data is written.</td> + </tr> + +</table> + + + + + + +<br/> +<br/> + + +<h2><a name="functions"></a>Functions</h2> +<dl class="function"> + + + +<dt><a name="UnifiedIO.blocksource"></a><strong>UnifiedIO:blocksource</strong> (blocksize, limit)</dt> +<dd> + + Create a block-based iterator. + + +<h3>Parameters</h3> +<ul> + + <li> + blocksize: Advisory blocksize (optional) + </li> + + <li> + limit: Amount of data to consume (optional) + </li> + +</ul> + + + + +<h3>Usage</h3> +<ul> + + <li>This function uses the low-level read function of the descriptor. + + <li>The blocksize given is only advisory and to be seen as an upper limit, + if an underlying read returns less bytes the chunk is nevertheless returned. + + <li>If the limit parameter is ommited, the iterator returns data + until an end-of-file, end-of-stream, connection shutdown or similar happens. + + <li>The iterator will not buffer so it is safe to mix with calls to read. + + <li>If the descriptor is non-blocking the iterator may fail with EAGAIN. + + <li>The iterator can be used as an LTN12 source. + +</ul> + + + +<h3>Return value:</h3> +Block-based Iterator + + + +</dd> + + + + +<dt><a name="UnifiedIO.close"></a><strong>UnifiedIO:close</strong> ()</dt> +<dd> + + Close the descriptor. + + + + + +<h3>Usage:</h3> +If the descriptor is a TLS-socket the underlying descriptor is + closed without touching the TLS connection. + + + +<h3>Return value:</h3> +true + + + +</dd> + + + + +<dt><a name="UnifiedIO.copy"></a><strong>UnifiedIO:copy</strong> (fdout, size)</dt> +<dd> + + Copy data from the current descriptor to another one. + + +<h3>Parameters</h3> +<ul> + + <li> + fdout: Target Descriptor + </li> + + <li> + size: Bytes to copy (optional) + </li> + +</ul> + + + + +<h3>Usage</h3> +<ul> + + <li>This function uses the blocksource function of the source descriptor + and the sink function of the target descriptor. + + <li>If the limit parameter is ommited, data is copied + until an end-of-file, end-of-stream, connection shutdown or similar happens. + + <li>If the descriptor is non-blocking the function may fail with EAGAIN. + +</ul> + + + +<h3>Return values:</h3> +<ol> + + <li>bytes that were successfully written if no error occured + + <li>- reserved for error code - + + <li>- reserved for error message - + + <li>bytes that were successfully written even if an error occured + +</ol> + + + +</dd> + + + + +<dt><a name="UnifiedIO.copyz"></a><strong>UnifiedIO:copyz</strong> (fdout, size)</dt> +<dd> + + Copy data from the current descriptor to another one using kernel-space + copying if possible. + + +<h3>Parameters</h3> +<ul> + + <li> + fdout: Target Descriptor + </li> + + <li> + size: Bytes to copy (optional) + </li> + +</ul> + + + + +<h3>Usage</h3> +<ul> + + <li>This function uses the sendfile() syscall to copy the data or the + blocksource function of the source descriptor and the sink function + of the target descriptor as a fallback mechanism. + + <li>If the limit parameter is ommited, data is copied + until an end-of-file, end-of-stream, connection shutdown or similar happens. + + <li>If the descriptor is non-blocking the function may fail with EAGAIN. + +</ul> + + + +<h3>Return values:</h3> +<ol> + + <li>bytes that were successfully written if no error occured + + <li>- reserved for error code - + + <li>- reserved for error message - + + <li>bytes that were successfully written even if an error occured + +</ol> + + + +</dd> + + + + +<dt><a name="UnifiedIO.is_file"></a><strong>UnifiedIO:is_file</strong> ()</dt> +<dd> + + Test whether the I/O-Descriptor is a file. + + + + + + + +<h3>Return value:</h3> +boolean + + + +</dd> + + + + +<dt><a name="UnifiedIO.is_socket"></a><strong>UnifiedIO:is_socket</strong> ()</dt> +<dd> + + Test whether the I/O-Descriptor is a socket. + + + + + + + +<h3>Return value:</h3> +boolean + + + +</dd> + + + + +<dt><a name="UnifiedIO.is_tls_socket"></a><strong>UnifiedIO:is_tls_socket</strong> ()</dt> +<dd> + + Test whether the I/O-Descriptor is a TLS socket. + + + + + + + +<h3>Return value:</h3> +boolean + + + +</dd> + + + + +<dt><a name="UnifiedIO.linesource"></a><strong>UnifiedIO:linesource</strong> (limit)</dt> +<dd> + + Create a line-based iterator. + Lines may end with either \n or \r\n, these control chars are not included + in the return value. + + +<h3>Parameters</h3> +<ul> + + <li> + limit: Line limit + </li> + +</ul> + + + + +<h3>Usage</h3> +<ul> + + <li>This function uses the low-level read function of the descriptor. + + <li><strong>Note:</strong> This function uses an internal buffer to read + ahead. Do NOT mix calls to read(all) and the returned iterator. If you want + to stop reading line-based and want to use the read(all) functions instead + you can pass "true" to the iterator which will flush the buffer + and return the bufferd data. + + <li>If the limit parameter is ommited, this function uses the nixio + buffersize (8192B by default). + + <li>If the descriptor is non-blocking the iterator may fail with EAGAIN. + + <li>The iterator can be used as an LTN12 source. + +</ul> + + + +<h3>Return value:</h3> +Line-based Iterator + + + +</dd> + + + + +<dt><a name="UnifiedIO.readall"></a><strong>UnifiedIO:readall</strong> (length)</dt> +<dd> + + Read a block of data and wait until all data is available. + + +<h3>Parameters</h3> +<ul> + + <li> + length: Bytes to read (optional) + </li> + +</ul> + + + + +<h3>Usage</h3> +<ul> + + <li>This function uses the low-level read function of the descriptor. + + <li>If the length parameter is ommited, this function returns all data + that can be read before an end-of-file, end-of-stream, connection shutdown + or similar happens. + + <li>If the descriptor is non-blocking this function may fail with EAGAIN. + +</ul> + + + +<h3>Return values:</h3> +<ol> + + <li>data that was successfully read if no error occured + + <li>- reserved for error code - + + <li>- reserved for error message - + + <li>data that was successfully read even if an error occured + +</ol> + + + +</dd> + + + + +<dt><a name="UnifiedIO.sink"></a><strong>UnifiedIO:sink</strong> (close_when_done)</dt> +<dd> + + Create a sink. + This sink will simply write all data that it receives and optionally + close the descriptor afterwards. + + +<h3>Parameters</h3> +<ul> + + <li> + close_when_done: (optional, boolean) + </li> + +</ul> + + + + +<h3>Usage</h3> +<ul> + + <li>This function uses the writeall function of the descriptor. + + <li>If the descriptor is non-blocking the sink may fail with EAGAIN. + + <li>The iterator can be used as an LTN12 sink. + +</ul> + + + +<h3>Return value:</h3> +Sink + + + +</dd> + + + + +<dt><a name="UnifiedIO.writeall"></a><strong>UnifiedIO:writeall</strong> (block)</dt> +<dd> + + Write a block of data and wait until all data is written. + + +<h3>Parameters</h3> +<ul> + + <li> + block: Bytes to write + </li> + +</ul> + + + + +<h3>Usage</h3> +<ul> + + <li>This function uses the low-level write function of the descriptor. + + <li>If the descriptor is non-blocking this function may fail with EAGAIN. + +</ul> + + + +<h3>Return values:</h3> +<ol> + + <li>bytes that were successfully written if no error occured + + <li>- reserved for error code - + + <li>- reserved for error message - + + <li>bytes that were successfully written even if an error occured + +</ol> + + + +</dd> + + +</dl> + + + + + +</div> <!-- id="content" --> + +</div> <!-- id="main" --> + +<div id="about"> + <p><a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" /></a></p> +</div> <!-- id="about" --> + +</div> <!-- id="container" --> +</body> +</html> |