--- a/CollectingSharedQueueStream.st Wed Mar 05 14:50:52 1997 +0100
+++ b/CollectingSharedQueueStream.st Wed Mar 05 15:31:35 1997 +0100
@@ -2,24 +2,27 @@
instanceVariableNames:'contents readPosition writePosition dataAvailable closed'
classVariableNames:''
poolDictionaries:''
- category:'Collections-Ordered'
+ category:'Streams'
!
!CollectingSharedQueueStream class methodsFor:'documentation'!
documentation
"
- This class combines the functionality of a growable collection
- with sharedQueue and double-stream-like behavior.
+ This class provides a buffering mechanism between a reader and a writer
+ process (i.e. it is much like a sharedQueue), but remembers the data as
+ written by the writer internally, providing indexed access to elements.
+
The reader side may read from it using #next, and possibly access
elements via #at:.
- Reading may start immediately, but will block until enough elements
+ Reading/accessing may start immediately, but will block until enough elements
have been added by another process, the writer.
+
Instances of this class may be useful to start processing on
big document/data collection immediately, while the data is still being
- read; a concrete application is the HTMLDocumentReader, which starts
- processing and displaying the document while the rest is still being
- read.
+ read by another thread;
+ A concrete application is the HTMLDocumentReader, which is being changed to
+ start processing and displaying the document while the rest is still being read.
[author:]
Claus Gittinger
@@ -167,5 +170,5 @@
!CollectingSharedQueueStream class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic2/CollectingSharedQueueStream.st,v 1.1 1997-03-05 13:50:52 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic2/CollectingSharedQueueStream.st,v 1.2 1997-03-05 14:31:35 cg Exp $'
! !