This describes an object that is able to receive a stream from StreamTool.readStream, which breaks the stream up into descriptors and packets. This was copied from das2's das2stream library to create QStream, which is to replace it. See http://das2.org/wiki/index.php/Das2/QStreams
receive a data packet from the stream. The packet descriptor is used to describe the packet contents, and the ByteBuffer contains the bytes. The byte buffer will have its position at the beginning of the data, and the limit will be the end of the data. Note for filters, the buffer must be reset!
description of a new packet type. This packetDescriptor will also be sent as packets of data are received.
indicates the stream end is encountered.
comments on the stream.
initial description of the stream. This contains global properties of the stream. TODO: should codes expect only one of these? I think most probably do, but the spec says we should be able to pick up in the middle, implying that steamDescriptors may be resent.
This is used to indicate an exception occurred in the source.