English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

Browse thread
ocaml-duppy: an advanced scheduler for ocaml.
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ 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 

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:
In particular, the documentation is available there:
You can also download the module there:

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 !