mirror of
https://github.com/c-cube/nanoev.git
synced 2025-12-06 03:05:32 -05:00
17 lines
6.7 KiB
HTML
17 lines
6.7 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Net_server (nanoev-picos.Nanoev_picos.Net_server)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../../_odoc-theme/odoc.css"/><meta name="generator" content="odoc 3.0.0"/><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">Index</a> » <a href="../../index.html">nanoev-picos</a> » <a href="../index.html">Nanoev_picos</a> » Net_server</nav><header class="odoc-preamble"><h1>Module <code><span>Nanoev_picos.Net_server</span></code></h1></header><div class="odoc-content"><div class="odoc-spec"><div class="spec type anchored" id="type-client_handler"><a href="#type-client_handler" class="anchor"></a><code><span><span class="keyword">type</span> client_handler</span><span> = <span><a href="../../../ocaml/Unix/index.html#type-sockaddr">Unix.sockaddr</a> <span class="arrow">-></span></span> <span><a href="../IO_in/class-type-t/index.html">IO_in.t</a> <span class="arrow">-></span></span> <span><a href="../IO_out/class-type-t/index.html">IO_out.t</a> <span class="arrow">-></span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-t"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-join"><a href="#val-join" class="anchor"></a><code><span><span class="keyword">val</span> join : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Wait for server to shutdown</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-shutdown"><a href="#val-shutdown" class="anchor"></a><code><span><span class="keyword">val</span> shutdown : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Ask the server to stop</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-running"><a href="#val-running" class="anchor"></a><code><span><span class="keyword">val</span> running : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> bool</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-max_connections"><a href="#val-max_connections" class="anchor"></a><code><span><span class="keyword">val</span> max_connections : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> int</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-n_active_connections"><a href="#val-n_active_connections" class="anchor"></a><code><span><span class="keyword">val</span> n_active_connections : <span><a href="#type-t">t</a> <span class="arrow">-></span></span> int</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-establish"><a href="#val-establish" class="anchor"></a><code><span><span class="keyword">val</span> establish :
|
||
<span><span class="optlabel">?backlog</span>:int <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?max_connections</span>:int <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?exn_handler</span>:<span>(<span>exn <span class="arrow">-></span></span> <span><a href="../../../ocaml/Stdlib/Printexc/index.html#type-raw_backtrace">Stdlib.Printexc.raw_backtrace</a> <span class="arrow">-></span></span> unit)</span> <span class="arrow">-></span></span>
|
||
<span><span class="label">spawn</span>:<span>(<span><span>(<span>unit <span class="arrow">-></span></span> unit)</span> <span class="arrow">-></span></span> <span>unit <a href="../../../picos/Picos/Computation/index.html#type-t">Picos.Computation.t</a></span>)</span> <span class="arrow">-></span></span>
|
||
<span><span class="label">client_handler</span>:<a href="#type-client_handler">client_handler</a> <span class="arrow">-></span></span>
|
||
<span><a href="../../../ocaml/Unix/index.html#type-sockaddr">Unix.sockaddr</a> <span class="arrow">-></span></span>
|
||
<a href="#type-t">t</a></span></code></div><div class="spec-doc"><p>Create and start a new server on the given socket address.</p><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">spawn</span> <p>used to spawn a new computation per client</p></li></ul><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">client_handler</span> <p>the logic for talking to a client, will run in its own computation</p></li></ul><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">backlog</span> <p>number of connections waiting in the listening socket</p></li></ul><ul class="at-tags"><li class="parameter"><span class="at-tag">parameter</span> <span class="value">max_connections</span> <p>max number of simultaneous connections</p></li></ul></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-with_"><a href="#val-with_" class="anchor"></a><code><span><span class="keyword">val</span> with_ :
|
||
<span><span class="optlabel">?backlog</span>:int <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?max_connections</span>:int <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?exn_handler</span>:<span>(<span>exn <span class="arrow">-></span></span> <span><a href="../../../ocaml/Stdlib/Printexc/index.html#type-raw_backtrace">Stdlib.Printexc.raw_backtrace</a> <span class="arrow">-></span></span> unit)</span> <span class="arrow">-></span></span>
|
||
<span><span class="label">spawn</span>:<span>(<span><span>(<span>unit <span class="arrow">-></span></span> unit)</span> <span class="arrow">-></span></span> <span>unit <a href="../../../picos/Picos/Computation/index.html#type-t">Picos.Computation.t</a></span>)</span> <span class="arrow">-></span></span>
|
||
<span><span class="label">client_handler</span>:<a href="#type-client_handler">client_handler</a> <span class="arrow">-></span></span>
|
||
<span><a href="../../../ocaml/Unix/index.html#type-sockaddr">Unix.sockaddr</a> <span class="arrow">-></span></span>
|
||
<span><span>(<span><a href="#type-t">t</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></body></html>
|