Hi Daniel,
On Thu, Mar 19, 2009 at 3:54 PM, Daniel Moisset
<[hidden email]> wrote:
So, any good examples of which things should be terminal streams and
which ones shouldn't?
"Terminal streams" are streams that get or put characters from/to "something physical", usually external to the system (a file, a tty, a socket... - see the "terminal" cluster). There are also some exotic cases: null streams, STRING-connected streams...
They are opposed to "filter streams" that build upon a stream to transform it in some ways (think compression, base64, parsing and so on - see the "filters" cluster). You may nest filters ad nauseam.
Imagine the structure as a pipe: client <-> filter <-...-> filter <-> terminal
To summarize:
- INPUT_STREAM is the parent of both TERMINAL_INPUT_STREAM and FILTER_INPUT_STREAM
- ditto for OUTPUT_*
- STREAM is the parent of both INPUT_STREAM and OUTPUT_STREAM and the conformant top of the hierarchy
Hope it helps,
Best regards,
--
Cyril ADRIAN
http://www.cadrian.net/~cyril