/usr/share/doc/libduppy-ocaml-dev/html/Duppy.html is in libduppy-ocaml-dev 0.5.1-1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<link rel="stylesheet" href="style.css" type="text/css">
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
<link rel="Start" href="index.html">
<link rel="next" href="Pa_duppy.html">
<link rel="Up" href="index.html">
<link title="Index of types" rel=Appendix href="index_types.html">
<link title="Index of exceptions" rel=Appendix href="index_exceptions.html">
<link title="Index of values" rel=Appendix href="index_values.html">
<link title="Index of modules" rel=Appendix href="index_modules.html">
<link title="Index of module types" rel=Appendix href="index_module_types.html">
<link title="Duppy" rel="Chapter" href="Duppy.html">
<link title="Pa_duppy" rel="Chapter" href="Pa_duppy.html"><link title="Duppy task scheduler for OCaml." rel="Section" href="#2_DuppytaskschedulerforOCaml">
<link title="Some culture.." rel="Section" href="#2_Someculture">
<title>Duppy</title>
</head>
<body>
<div class="navbar"> <a class="up" href="index.html" title="Index">Up</a>
<a class="post" href="Pa_duppy.html" title="Pa_duppy">Next</a>
</div>
<h1>Module <a href="type_Duppy.html">Duppy</a></h1>
<pre><span class="keyword">module</span> Duppy: <code class="code">sig</code> <a href="Duppy.html">..</a> <code class="code">end</code></pre><div class="info module top">
Advanced scheduler and monad for server-oriented programming.<br>
</div>
<hr width="100%">
<br>
<div align=right><i><pre class="verbatim">
The bars could not hold me;
Force could not control me now.
They try to keep me down, yeah!
But Jah put I around.
(...)
Let me tell you this -
I'm a duppy conqueror !
</pre> </i> </div>
<div align=right><b>Lee "Scratch" Perry & Bob Marley - Duppy conqueror </b></div>
<p>
<h2 id="2_DuppytaskschedulerforOCaml">Duppy task scheduler for OCaml.</h2>
<p>
<a href="Duppy.html"><code class="code">Duppy</code></a> is a task scheduler for ocaml. It implements a wrapper
around <code class="code">Unix.select</code>.
<p>
Using <a href="Duppy.Task.html"><code class="code">Duppy.Task</code></a>, the programmer can easily submit tasks that need to wait
on a socket even, or for a given timeout (possibly zero).
<p>
With <a href="Duppy.Async.html"><code class="code">Duppy.Async</code></a>, one can use a scheduler to submit asynchronous tasks.
<p>
<a href="Duppy.Io.html"><code class="code">Duppy.Io</code></a> implements recursive easy reading and writing to a <code class="code">Unix.file_descr</code>
<p>
Finally, <a href="Duppy.Monad.html"><code class="code">Duppy.Monad</code></a> and <a href="Duppy.Monad.Io.html"><code class="code">Duppy.Monad.Io</code></a> provide a monadic interface to
program server code that with an implicit return/reply execution flow.
<p>
The scheduler can use several queues running concurently, each queue
processing ready tasks. Of course, a queue should run in its own thread.<br>
<pre><span id="TYPEscheduler"><span class="keyword">type</span> <code class="type">'a</code> scheduler</span> </pre>
<div class="info ">
A scheduler is a device for processing tasks. Several queues might run in
different threads, processing one scheduler's tasks.
<p>
<code class="code">'a</code> is the type of objects used for priorities.<br>
</div>
<pre><span id="VALcreate"><span class="keyword">val</span> create</span> : <code class="type">?compare:('a -> 'a -> int) -> unit -> 'a <a href="Duppy.html#TYPEscheduler">scheduler</a></code></pre><div class="info ">
Initiate a new scheduler
<br>
</div>
<div class="param_info"><code class="code">compare</code> : the comparison function used to sort tasks according to priorities.
Works as in <code class="code">List.sort</code></div>
<pre><span id="VALqueue"><span class="keyword">val</span> queue</span> : <code class="type">?log:(string -> unit) -><br> ?priorities:('a -> bool) -> 'a <a href="Duppy.html#TYPEscheduler">scheduler</a> -> string -> unit</code></pre><div class="info ">
<code class="code">queue ~log ~priorities s name</code>
starts a queue, on the scheduler <code class="code">s</code> only processing priorities <code class="code">p</code>
for which <code class="code">priorities p</code> returns <code class="code">true</code>.
<p>
Several queues can be run concurrently against <code class="code">s</code>.
<br>
</div>
<div class="param_info"><code class="code">log</code> : Logging function. Default: <code class="code">Printf.printf "queue %s: %s\n" name</code></div>
<div class="param_info"><code class="code">priorities</code> : Predicate specifying which priority to process. Default: <code class="code">fun _ -> _ -> true</code>
<p>
An exception is raised from this call when duppy's event loops has
crashed. This exception should be considered a MAJOR FAILURE. All current
non-ready tasks registered for the calling scheduler are dropped. You may
restart Duppy's queues after it is raised but it should only be used to terminate
the process diligently!!</div>
<pre><span id="VALstop"><span class="keyword">val</span> stop</span> : <code class="type">'a <a href="Duppy.html#TYPEscheduler">scheduler</a> -> unit</code></pre><div class="info ">
Stop all queues running on that scheduler, causing them to return.<br>
</div>
<pre><span class="keyword">module</span> <a href="Duppy.Task.html">Task</a>: <code class="code">sig</code> <a href="Duppy.Task.html">..</a> <code class="code">end</code></pre><div class="info">
Core task registration.
</div>
<pre><span class="keyword">module</span> <a href="Duppy.Async.html">Async</a>: <code class="code">sig</code> <a href="Duppy.Async.html">..</a> <code class="code">end</code></pre><div class="info">
Asynchronous task module
</div>
<pre><span class="keyword">module</span> <a href="Duppy.Io.html">Io</a>: <code class="code">sig</code> <a href="Duppy.Io.html">..</a> <code class="code">end</code></pre><div class="info">
Easy parsing of <code class="code">Unix.file_descr</code>.
</div>
<pre><span class="keyword">module</span> <a href="Duppy.Monad.html">Monad</a>: <code class="code">sig</code> <a href="Duppy.Monad.html">..</a> <code class="code">end</code></pre><div class="info">
Monadic interface to <a href="Duppy.Io.html"><code class="code">Duppy.Io</code></a>.
</div>
<br>
<h2 id="2_Someculture">Some culture..</h2>
<em>Duppy is a Caribbean patois word of West African origin meaning ghost or spirit.
Much of Caribbean folklore revolves around duppies.
Duppies are generally regarded as malevolent spirits.
They are said to come out and haunt people at night mostly,
and people from the islands claim to have seen them.
The 'Rolling Calf', 'Three footed horse' or 'Old Higue' are examples of the more malicious spirits. </em>
<div align=right><a href="http://en.wikipedia.org/wiki/Duppy"> http://en.wikipedia.org/wiki/Duppy</a></div><br>
</body></html>
|