Ordering data queue messages

There are three ways to designate the order of messages on a data queue:

LIFO
Last in, first out. The last message (newest) placed on the data queue will be the first message taken off of the queue.
FIFO
First in, first out. The first message (oldest) placed on the data queue will be the first message taken off of the queue.
KEYED
Each message on the data queue has a key associated with it. A message can be taken off of the queue only by requesting the key with which it is associated.