-------------------------------------------------------------------------------
DojoX Timing
-------------------------------------------------------------------------------
Version 0.1.0
Release date: 08/08/2007
-------------------------------------------------------------------------------
Project state:
experimental
-------------------------------------------------------------------------------
Credits
	Tom Trenka (ttrenka AT gmail.com): original Timer, Streamer, Thread and ThreadPool
	Wolfram Kriesing (http://wolfram.kriesing.de/blog/): Sequence
	Jonathan Bond-Caron (jbondc AT gmail.com): port of Timer and Streamer
	Pete Higgins (phiggins AT gmail.com): port of Sequence
	Mike Wilcox (anm8tr AT yahoo.com): dojo.doLater
-------------------------------------------------------------------------------
Project description

DojoX Timing is a project that deals with any kind of advanced use of timing
constructs.  The central object, dojox.timing.Timer (included by default), is
a simple object that fires a callback on each tick of the timer, as well as 
when starting or stopping it.  The interval of each tick is settable, but the
default is 1 second--useful for driving something such as a clock.

dojox.timing.Streamer is an object designed to facilitate streaming/buffer-type
scenarios; it takes an input and an output function, will execute the output
function onTick, and run the input function when the internal buffer gets 
beneath a certain threshold of items.  This can be useful for something timed--
such as updating a data plot at every N interval, and getting new data from
a source when there's less than X data points in the internal buffer (think
real-time data updating).

dojox.timing.Sequencer is an object, similar to Streamer, that will allow you
to set up a set of functions to be executed in a specific order, at specific
intervals.

The DojoX Timing ThreadPool is a port from the original implementation in the
f(m) library.  It allows a user to feed a set of callback functions (wrapped
in a Thread constructor) to a pool for background processing.

dojo.doLater() provides a simple mechanism that checks a conditional before allowing
your function to continue. If the conditional is false, the function is blocked and continually
re-called, with arguments, until the conditional passes.
-------------------------------------------------------------------------------
Dependencies:

DojoX Timing only relies on the Dojo Base.
-------------------------------------------------------------------------------
Documentation

TBD.
-------------------------------------------------------------------------------
Installation instructions

Grab the following from the Dojo SVN Repository:
http://svn.dojotoolkit.org/var/src/dojo/dojox/trunk/timing.js
http://svn.dojotoolkit.org/var/src/dojo/dojox/trunk/timing/*

Install into the following directory structure:
/dojox/timing.js
/dojox/timing/

...which should be at the same level as your Dojo checkout.
