Browse thread
ocaml-duppy: an advanced scheduler for ocaml.
- Romain Beauxis
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: | 2008-03-07 (20:29) |
From: | Romain Beauxis <toots@r...> |
Subject: | ocaml-duppy: an advanced scheduler for ocaml. |
Hi all ! Along with our project (liquidsoap), we (the savonet team) have developped an advanced scheduler that we needed for our software. It is now available as a seperate module, and we hope it could be usefull for some of you. The basics of this scheduler is to implement a wrapper around Unix.select in order to be able to wait for events on a socket and/or a given delay and execute a task when one of the waited events occured. We also wrote an asynchronous interface as well as a simple I/O interface, in order to read and write to sockets, or submit an asychronous task to a scheduler. Several queues can be run against the same scheduler, each one living in a different thread. Also, each task has a priority, which can of your favorite type, and each queue decides if it wants to process a task according to a predicate passed at its initialisation. This scheduler can be very usefull to write simple servers, as well as to develop a multi-thread task processing system. Two simple telnet and http examples are provided in the source. You can find more informations on the module there: http://www.rastageeks.org/duppy.html In particular, the documentation is available there: http://www.rastageeks.org/ocaml-duppy/Duppy.html You can also download the module there: https://sourceforge.net/project/showfiles.php?group_id=89802&package_id=266393 Romain -- 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 !