transforms/Xtreams__DuplicateReadStream.st
author Martin Kobetic
Sun, 17 Nov 2013 00:23:18 -0500
changeset 147 bd6be28aa924
parent 111 44ac233b2f83
permissions -rw-r--r--
merging

"{ Package: 'stx:goodies/xtreams/transforms' }"

"{ NameSpace: Xtreams }"

ReadStream subclass:#DuplicateReadStream
	instanceVariableNames:'duplicate'
	classVariableNames:''
	poolDictionaries:''
	category:'Xtreams-Transforms'
!

DuplicateReadStream comment:'Duplicates contents flowing through the stream into a secondary write stream.

Instance Variables
	duplicate	<WriteStream> stream to duplicate the content to

'
!


!DuplicateReadStream class methodsFor:'instance creation'!

on: aSource duplicate: aDestination

	^self new on: aSource duplicate: aDestination
! !

!DuplicateReadStream methodsFor:'accessing'!

read: anInteger into: aSequenceableCollection at: startIndex

	[	source read: anInteger into: aSequenceableCollection at: startIndex.
	] on: Incomplete do: [ :incomplete |
		duplicate write: incomplete count from: aSequenceableCollection at: startIndex.
		incomplete pass ].
	duplicate write: anInteger from: aSequenceableCollection at: startIndex
! !

!DuplicateReadStream methodsFor:'initialize-release'!

contentsSpecies

	^source contentsSpecies
!

on: aSource duplicate: aDestination

	super on: aSource.
	duplicate := aDestination
! !

!DuplicateReadStream class methodsFor:'documentation'!

version_HG

    ^ '$Changeset: <not expanded> $'
!

version_SVN
    ^ '$Id$'
! !