mirror of
https://github.com/c-cube/tiny_httpd.git
synced 2025-12-06 03:05:29 -05:00
20 lines
14 KiB
HTML
20 lines
14 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Out_buf (iostream.Iostream.Out_buf)</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> » Out_buf</nav><header class="odoc-preamble"><h1>Module <code><span>Iostream.Out_buf</span></code></h1><p>Buffered output 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 output stream, ie. a place into which we can write bytes, with a buffer to amortize the cost of operations.</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><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">?flush</span>:<span>(<span>unit <span class="arrow">-></span></span> unit)</span> <span class="arrow">-></span></span>
|
||
<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">output_char</span>:<span>(<span>char <span class="arrow">-></span></span> unit)</span> <span class="arrow">-></span></span>
|
||
<span><span class="label">output</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> <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 class="spec-doc"><p>Create a new output stream from raw components.</p></div></div><div class="odoc-spec"><div class="spec class anchored" id="class-dummy"><a href="#class-dummy" class="anchor"></a><code><span><span class="keyword">class</span> </span><span><a href="class-dummy/index.html">dummy</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-dummy"><a href="#val-dummy" class="anchor"></a><code><span><span class="keyword">val</span> dummy : <a href="class-type-t/index.html">t</a></span></code></div><div class="spec-doc"><p>Dummy output, drops everything written to it.</p></div></div><div class="odoc-spec"><div class="spec class anchored" id="class-t_from_output"><a href="#class-t_from_output" class="anchor"></a><code><span><span class="keyword">class</span> <span class="keyword">virtual</span> </span><span><a href="class-t_from_output/index.html">t_from_output</a></span><span> : <span><span class="optlabel">?bytes</span>:bytes <span class="arrow">-></span></span> <span>unit <span class="arrow">-></span></span> <span class="keyword">object</span> ... <span class="keyword">end</span></span></code></div><div class="spec-doc"><p>Make a bufferized output from a non bufferized output+close.</p></div></div><div class="odoc-spec"><div class="spec class anchored" id="class-bufferized"><a href="#class-bufferized" class="anchor"></a><code><span><span class="keyword">class</span> </span><span><a href="class-bufferized/index.html">bufferized</a></span><span> : <span><span class="optlabel">?bytes</span>:bytes <span class="arrow">-></span></span> <span><a href="../Out/class-type-t/index.html">Out.t</a> <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 value anchored" id="val-bufferized"><a href="#val-bufferized" class="anchor"></a><code><span><span class="keyword">val</span> bufferized : <span><span class="optlabel">?bytes</span>:bytes <span class="arrow">-></span></span> <span><a href="../Out/class-type-t/index.html">Out.t</a> <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-of_out_channel"><a href="#class-of_out_channel" class="anchor"></a><code><span><span class="keyword">class</span> </span><span><a href="class-of_out_channel/index.html">of_out_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-out_channel">out_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_out_channel"><a href="#val-of_out_channel" class="anchor"></a><code><span><span class="keyword">val</span> of_out_channel : <span><span class="optlabel">?close_noerr</span>:bool <span class="arrow">-></span></span> <span><a href="../../../ocaml/Stdlib/index.html#type-out_channel">out_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 an out channel.</p></div></div><div class="odoc-spec"><div class="spec class anchored" id="class-of_buffer"><a href="#class-of_buffer" class="anchor"></a><code><span><span class="keyword">class</span> </span><span><a href="class-of_buffer/index.html">of_buffer</a></span><span> : <span><a href="../../../ocaml/Stdlib/Buffer/index.html#type-t">Stdlib.Buffer.t</a> <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 value anchored" id="val-of_buffer"><a href="#val-of_buffer" class="anchor"></a><code><span><span class="keyword">val</span> of_buffer : <span><a href="../../../ocaml/Stdlib/Buffer/index.html#type-t">Stdlib.Buffer.t</a> <span class="arrow">-></span></span> <a href="class-type-t/index.html">t</a></span></code></div><div class="spec-doc"><p><code>of_buffer buf</code> is an output channel that writes directly into <code>buf</code>. <code>flush</code> and <code>close</code> have no effect.</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 class="spec-doc"><p><code>open_file file</code> creates an out stream writing into the given file.</p><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">mode</span> <p>permissions for the file creation</p></li></ul><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">flags</span> <p>set of unix flags to use. It must contain write permissions.</p></li></ul></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 value anchored" id="val-output_char"><a href="#val-output_char" class="anchor"></a><code><span><span class="keyword">val</span> output_char : <span><a href="class-type-t/index.html">t</a> <span class="arrow">-></span></span> <span>char <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Output a single char</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-output"><a href="#val-output" class="anchor"></a><code><span><span class="keyword">val</span> output : <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>Write the slice of bytes.</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 stream. Idempotent.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-flush"><a href="#val-flush" class="anchor"></a><code><span><span class="keyword">val</span> flush : <span><a href="class-type-t/index.html">t</a> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Ensure the bytes written so far are indeed written to the underlying storage/network socket/… and are not just sitting in a buffer.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-output_string"><a href="#val-output_string" class="anchor"></a><code><span><span class="keyword">val</span> output_string : <span><a href="class-type-t/index.html">t</a> <span class="arrow">-></span></span> <span>string <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Output the whole string.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-output_line"><a href="#val-output_line" class="anchor"></a><code><span><span class="keyword">val</span> output_line : <span><a href="class-type-t/index.html">t</a> <span class="arrow">-></span></span> <span>string <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Output the whole string followed by <code>'\n'</code>.</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-output_lines"><a href="#val-output_lines" class="anchor"></a><code><span><span class="keyword">val</span> output_lines : <span><a href="class-type-t/index.html">t</a> <span class="arrow">-></span></span> <span><span>string <a href="../../../ocaml/Stdlib/Seq/index.html#type-t">Stdlib.Seq.t</a></span> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Output a series of lines, each terminated by <code>'\n'</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-output_int"><a href="#val-output_int" class="anchor"></a><code><span><span class="keyword">val</span> output_int : <span><a href="class-type-t/index.html">t</a> <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Output an integer in decimal notation.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-tee"><a href="#val-tee" class="anchor"></a><code><span><span class="keyword">val</span> tee : <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><code>tee ocs</code> is an output that accepts bytes and writes them to every output in <code>ocs</code>. When closed, it closes all elements of <code>oc</code>.</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>
|