Annotation of libwww/Library/src/WWWStream.html, revision 2.1
2.1 ! frystyk 1: <HTML>
! 2: <HEAD>
! 3: <TITLE>W3C Reference Library libwww Streams</TITLE>
! 4: <!-- Changed by: Henrik Frystyk Nielsen, 27-Mar-1996 -->
! 5: </HEAD>
! 6: <BODY>
! 7:
! 8: <H1>Declaration of W3C Reference Library Streams</H1>
! 9:
! 10: <PRE>
! 11: /*
! 12: ** (c) COPYRIGHT MIT 1995.
! 13: ** Please first read the full copyright statement in the file COPYRIGH.
! 14: */
! 15: </PRE>
! 16:
! 17: The stream part of the Library is a set of streams that can be used in
! 18: many contexts throughout the Library.
! 19:
! 20: <PRE>
! 21: #ifndef WWWSTREAM_H
! 22: #define WWWSTREAM_H
! 23: </PRE>
! 24:
! 25: <H2>System dependencies</H2>
! 26:
! 27: <PRE>
! 28: #include "sysdep.h"
! 29: </PRE>
! 30:
! 31: <H2>Library Includes</H2>
! 32:
! 33: <PRE>
! 34: #ifdef __cplusplus
! 35: extern "C" {
! 36: #endif
! 37: </PRE>
! 38:
! 39: <H2>Stream Modules</H2>
! 40:
! 41: These are the streams describing this interface
! 42:
! 43: <H3>Content Length Counter</H3>
! 44:
! 45: This stream also buffers the result to find out the content length.
! 46: If a maximum buffer limit is reached Content-Length is calculated for
! 47: logs but it is not sent to the client -- rather the buffer is flushed
! 48: right away.
! 49:
! 50: <PRE>
! 51: #include "HTConLen.h" /* Content Length Counter */
! 52: </PRE>
! 53:
! 54: <H3>Content Guess Stream</H3>
! 55:
! 56: This interface provides functionality for guessing unknown media types
! 57: from magic words. The stream is a one that reads first a chunk of
! 58: stuff, tries to figure out the format, and calls
! 59: <CODE>HTStreamStack()</CODE>. This is a kind of lazy-evaluation of
! 60: <CODE>HTStreamStack()</CODE>. This could be extended arbitrarily to
! 61: recognize all the possible file formats in the world, if someone only
! 62: had time to do it. <P>
! 63:
! 64: <PRE>
! 65: #include "HTGuess.h" /* Guess stream */
! 66: </PRE>
! 67:
! 68: <H3>Tee Stream</H3>
! 69:
! 70: The Tee stream just writes everything you put into it into two oter
! 71: streams. One use (the only use?!) is for taking a cached copey on disk
! 72: while loading the main copy, without having to wait for the disk copy
! 73: to be finished and reread it.
! 74:
! 75: <PRE>
! 76: #include "HTTee.h" /* T streem for splitting a stream */
! 77: </PRE>
! 78:
! 79: <H3>Memory Buffer</H3>
! 80:
! 81: This version of the stream object is a hook for clients that want an
! 82: unparsed stream from libwww. The HTXParse_put_* and HTXParse_write
! 83: routines copy the content of the incoming buffer into a buffer that is
! 84: realloced whenever necessary. This buffer is handed over to the client
! 85: in HTXParse_free. See also <A HREF="HTFWrite.html">HTFWriter</A> for
! 86: writing to C files.
! 87:
! 88: <PRE>
! 89: #include "HTXParse.h" /* External parse stream */
! 90: </PRE>
! 91:
! 92: <PRE>
! 93: #ifdef __cplusplus
! 94: } /* end extern C definitions */
! 95: #endif
! 96:
! 97: #endif
! 98: </PRE>
! 99:
! 100: <HR>
! 101: <ADDRESS>
! 102: @(#) $Id: Date Author State $
! 103: </ADDRESS>
! 104: </BODY>
! 105: </HTML>
Webmaster