To run the demo:

Start the IceStorm service:

$ icebox --Ice.Config=config.icebox

This configuration assumes there is a subdirectory named db in the
current working directory.

In a separate window:

$ java Subscriber

In another window:

$ java Publisher

While the publisher continues to run, "tick" messages should be
displayed in the subscriber window.

Both the subscriber and publisher take an optional topic name as a
final argument. The default value for this topic is "time".

Through the use of command-line options, both the subscriber and
publisher can use different QoS for sending and receiving messages.

For the subscriber:

java Subscriber --oneway

  The subscriber receives events as oneway messages. This is the
  default.

java Subscriber --datagram

  The subscriber receives events as datagrams.

java Subscriber --twoway

  The subscriber receives events as twoway messages.

java Subscriber --ordered

  The subscriber receives events as twoway messages with guaranteed
  ordering.

java Subscriber --batch

  This is an additional flag that forwards datagram and oneway events
  to the subscriber in batches.

For the publisher:

java Publisher --oneway

  The publisher sends events as oneway messages. This is the default.

java Publisher --datagram

  The publisher sends events as datagrams.

java Publisher --twoway

  The publisher sends events as twoway messages.
