Clock and UUID
Clock and UUID
tyrex.services.Clock provides an efficient mechanism for
obtaining the current system time. It uses a background thread to automatically
increment an internal clock and periodically synchronize with the system clock.
The method tyrex.services.Clock.clock() is more efficient than
java.lang.System.currentTimeMillis() and also allows the clock to be
artificially advanced for testing purposes.
tyrex.services.UUID is a Universally Unique Identifier (UUID)
generator. A UUID is an identifier that is unique across both space and time,
with respect to the space of all UUIDs. A UUID can be used for objects with
an extremely short lifetime, and to reliably identifying very persistent
objects across a network. UUIDs are 128 bit values and encoded as 36 character
This generator produces time-based UUIDs based on the varient specified in a
February 4, 1998 IETF draft. Identifiers can be created in string form with and
without a prefix, and as byte arrays. Convenience methods are also provided for
converting an identifier to and from an array of bytes.
tryex.services.DaemonMaster is responsible for starting,
terminating and restarting daemon thread. A daemon thread is a thread that
is kept live for the duration of the server's life and is only terminated
when the server is stopped. The daemon master protects the system from the
sudden and unexpected termination of daemons by automatically restarting them.