mirror of
https://github.com/c-cube/tiny_httpd.git
synced 2025-12-06 11:15:35 -05:00
18 lines
15 KiB
HTML
18 lines
15 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>In (iostream.Iostream.In)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../../_odoc-theme/odoc.css"/><meta name="generator" content="odoc 2.4.2"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> – <a href="../../index.html">iostream</a> » <a href="../index.html">Iostream</a> » In</nav><header class="odoc-preamble"><h1>Module <code><span>Iostream.In</span></code></h1><p>Input stream.</p></header><div class="odoc-content"><div class="odoc-spec"><div class="spec class-type anchored" id="class-type-t"><a href="#class-type-t" class="anchor"></a><code><span><span class="keyword">class</span> <span class="keyword">type</span> </span><span><a href="class-type-t/index.html">t</a></span><span> = <span class="keyword">object</span> ... <span class="keyword">end</span></span></code></div><div class="spec-doc"><p>An input stream, i.e an incoming stream of bytes.</p></div></div><div class="odoc-spec"><div class="spec class-type anchored" id="class-type-t_seekable"><a href="#class-type-t_seekable" class="anchor"></a><code><span><span class="keyword">class</span> <span class="keyword">type</span> </span><span><a href="class-type-t_seekable/index.html">t_seekable</a></span><span> = <span class="keyword">object</span> ... <span class="keyword">end</span></span></code></div><div class="spec-doc"><p>An input stream that is also seekable.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-create"><a href="#val-create" class="anchor"></a><code><span><span class="keyword">val</span> create :
|
||
<span><span class="optlabel">?close</span>:<span>(<span>unit <span class="arrow">-></span></span> unit)</span> <span class="arrow">-></span></span>
|
||
<span><span class="label">input</span>:<span>(<span>bytes <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> int)</span> <span class="arrow">-></span></span>
|
||
<span>unit <span class="arrow">-></span></span>
|
||
<a href="class-type-t/index.html">t</a></span></code></div></div><div class="odoc-spec"><div class="spec class anchored" id="class-empty"><a href="#class-empty" class="anchor"></a><code><span><span class="keyword">class</span> </span><span><a href="class-empty/index.html">empty</a></span><span> : <a href="class-type-t/index.html">t</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-empty"><a href="#val-empty" class="anchor"></a><code><span><span class="keyword">val</span> empty : <a href="class-type-t/index.html">t</a></span></code></div><div class="spec-doc"><p>Empty input, contains 0 bytes.</p></div></div><div class="odoc-spec"><div class="spec class anchored" id="class-of_in_channel"><a href="#class-of_in_channel" class="anchor"></a><code><span><span class="keyword">class</span> </span><span><a href="class-of_in_channel/index.html">of_in_channel</a></span><span> : <span><span class="optlabel">?close_noerr</span>:bool <span class="arrow">-></span></span> <span><a href="../../../ocaml/Stdlib/index.html#type-in_channel">in_channel</a> <span class="arrow">-></span></span> <a href="class-type-t_seekable/index.html">t_seekable</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-of_in_channel"><a href="#val-of_in_channel" class="anchor"></a><code><span><span class="keyword">val</span> of_in_channel : <span><span class="optlabel">?close_noerr</span>:bool <span class="arrow">-></span></span> <span><a href="../../../ocaml/Stdlib/index.html#type-in_channel">in_channel</a> <span class="arrow">-></span></span> <a href="class-type-t_seekable/index.html">t_seekable</a></span></code></div><div class="spec-doc"><p>Wrap a standard input channel.</p></div></div><div class="odoc-spec"><div class="spec class anchored" id="class-open_file"><a href="#class-open_file" class="anchor"></a><code><span><span class="keyword">class</span> </span><span><a href="class-open_file/index.html">open_file</a></span><span> : <span><span class="optlabel">?close_noerr</span>:bool <span class="arrow">-></span></span> <span><span class="optlabel">?mode</span>:int <span class="arrow">-></span></span> <span><span class="optlabel">?flags</span>:<span><a href="../../../ocaml/Stdlib/index.html#type-open_flag">open_flag</a> list</span> <span class="arrow">-></span></span> <span>string <span class="arrow">-></span></span>
|
||
<a href="class-type-t_seekable/index.html">t_seekable</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-open_file"><a href="#val-open_file" class="anchor"></a><code><span><span class="keyword">val</span> open_file :
|
||
<span><span class="optlabel">?close_noerr</span>:bool <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?mode</span>:int <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?flags</span>:<span><a href="../../../ocaml/Stdlib/index.html#type-open_flag">open_flag</a> list</span> <span class="arrow">-></span></span>
|
||
<span>string <span class="arrow">-></span></span>
|
||
<a href="class-type-t_seekable/index.html">t_seekable</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-with_open_file"><a href="#val-with_open_file" class="anchor"></a><code><span><span class="keyword">val</span> with_open_file :
|
||
<span><span class="optlabel">?close_noerr</span>:bool <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?mode</span>:int <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?flags</span>:<span><a href="../../../ocaml/Stdlib/index.html#type-open_flag">open_flag</a> list</span> <span class="arrow">-></span></span>
|
||
<span>string <span class="arrow">-></span></span>
|
||
<span><span>(<span><a href="class-type-t_seekable/index.html">t_seekable</a> <span class="arrow">-></span></span> <span class="type-var">'a</span>)</span> <span class="arrow">-></span></span>
|
||
<span class="type-var">'a</span></span></code></div></div><div class="odoc-spec"><div class="spec class anchored" id="class-of_string"><a href="#class-of_string" class="anchor"></a><code><span><span class="keyword">class</span> </span><span><a href="class-of_string/index.html">of_string</a></span><span> : <span><span class="optlabel">?off</span>:int <span class="arrow">-></span></span> <span><span class="optlabel">?len</span>:int <span class="arrow">-></span></span> <span>string <span class="arrow">-></span></span> <a href="class-type-t_seekable/index.html">t_seekable</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-of_string"><a href="#val-of_string" class="anchor"></a><code><span><span class="keyword">val</span> of_string : <span><span class="optlabel">?off</span>:int <span class="arrow">-></span></span> <span><span class="optlabel">?len</span>:int <span class="arrow">-></span></span> <span>string <span class="arrow">-></span></span> <a href="class-type-t_seekable/index.html">t_seekable</a></span></code></div><div class="spec-doc"><p>An input channel reading from the string.</p><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">offset</span> <p>initial offset in the string. Default <code>0</code>.</p></li></ul><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">len</span> <p>the length of the slice we read from. Default <code>String.length s - off</code>.</p></li></ul></div></div><div class="odoc-spec"><div class="spec class anchored" id="class-of_bytes"><a href="#class-of_bytes" class="anchor"></a><code><span><span class="keyword">class</span> </span><span><a href="class-of_bytes/index.html">of_bytes</a></span><span> : <span><span class="optlabel">?off</span>:int <span class="arrow">-></span></span> <span><span class="optlabel">?len</span>:int <span class="arrow">-></span></span> <span>bytes <span class="arrow">-></span></span> <a href="class-type-t_seekable/index.html">t_seekable</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-of_bytes"><a href="#val-of_bytes" class="anchor"></a><code><span><span class="keyword">val</span> of_bytes : <span><span class="optlabel">?off</span>:int <span class="arrow">-></span></span> <span><span class="optlabel">?len</span>:int <span class="arrow">-></span></span> <span>bytes <span class="arrow">-></span></span> <a href="class-type-t_seekable/index.html">t_seekable</a></span></code></div><div class="spec-doc"><p>An input channel reading from the bytes buffer. See <a href="#val-of_string"><code>of_string</code></a> for more details.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-input"><a href="#val-input" class="anchor"></a><code><span><span class="keyword">val</span> input : <span><a href="class-type-t/index.html">t</a> <span class="arrow">-></span></span> <span>bytes <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> int</span></code></div><div class="spec-doc"><p>Read bytes into the given buffer. This returns <code>0</code> only if the stream has reached its end.</p><ul class="at-tags"><li class="raises"><span class="at-tag">raises</span> <code>Invalid_argument</code> <p>if the arguments do not denote a valid slice.</p></li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-input_all_into_buffer"><a href="#val-input_all_into_buffer" class="anchor"></a><code><span><span class="keyword">val</span> input_all_into_buffer : <span><a href="class-type-t/index.html">t</a> <span class="arrow">-></span></span> <span><a href="../../../ocaml/Stdlib/Buffer/index.html#type-t">Stdlib.Buffer.t</a> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Read the whole content into the given buffer.</p><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.2</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-input_all"><a href="#val-input_all" class="anchor"></a><code><span><span class="keyword">val</span> input_all : <span><span class="optlabel">?buf</span>:bytes <span class="arrow">-></span></span> <span><a href="class-type-t/index.html">t</a> <span class="arrow">-></span></span> string</span></code></div><div class="spec-doc"><p><code>input_all ic</code> reads the whole content of <code>ic</code> into a string.</p><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">buf</span> <p>the initial buffer to use internally.</p></li></ul><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.2</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-really_input"><a href="#val-really_input" class="anchor"></a><code><span><span class="keyword">val</span> really_input : <span><a href="class-type-t/index.html">t</a> <span class="arrow">-></span></span> <span>bytes <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Same as <code>input</code>, but reads exactly the demanded amount of bytes.</p><ul class="at-tags"><li class="raises"><span class="at-tag">raises</span> <code>Invalid_argument</code> <p>if the arguments do not denote a valid slice.</p></li></ul><ul class="at-tags"><li class="raises"><span class="at-tag">raises</span> <code>End_of_file</code> <p>if the input does not contain enough data.</p></li></ul><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.2</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-really_input_string"><a href="#val-really_input_string" class="anchor"></a><code><span><span class="keyword">val</span> really_input_string : <span><a href="class-type-t/index.html">t</a> <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> string</span></code></div><div class="spec-doc"><p><code>really_input_string ic n</code> reads exactly <code>n</code> bytes of <code>ic</code> and returns them as a string.</p><ul class="at-tags"><li class="raises"><span class="at-tag">raises</span> <code>End_of_file</code> <p>if the input does not contain enough data.</p></li></ul><ul class="at-tags"><li class="since"><span class="at-tag">since</span> 0.2</li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-concat"><a href="#val-concat" class="anchor"></a><code><span><span class="keyword">val</span> concat : <span><span><a href="class-type-t/index.html">t</a> list</span> <span class="arrow">-></span></span> <a href="class-type-t/index.html">t</a></span></code></div><div class="spec-doc"><p>Read from each stream, in order</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-close"><a href="#val-close" class="anchor"></a><code><span><span class="keyword">val</span> close : <span><a href="class-type-t/index.html">t</a> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Close the input stream. This is idempotent.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-copy_into"><a href="#val-copy_into" class="anchor"></a><code><span><span class="keyword">val</span> copy_into : <span><span class="optlabel">?buf</span>:bytes <span class="arrow">-></span></span> <span><a href="class-type-t/index.html">t</a> <span class="arrow">-></span></span> <span><a href="../Out/class-type-t/index.html">Out.t</a> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Copy the whole stream into the given output.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-map_char"><a href="#val-map_char" class="anchor"></a><code><span><span class="keyword">val</span> map_char : <span><span>(<span>char <span class="arrow">-></span></span> char)</span> <span class="arrow">-></span></span> <span><a href="class-type-t/index.html">t</a> <span class="arrow">-></span></span> <a href="class-type-t/index.html">t</a></span></code></div><div class="spec-doc"><p>Transform the stream byte by byte</p></div></div></div></body></html>
|