transforms/Xtreams__DuplicateWriteStream.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 }"

WriteStream subclass:#DuplicateWriteStream
	instanceVariableNames:'duplicate'
	classVariableNames:''
	poolDictionaries:''
	category:'Xtreams-Transforms'
!

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

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

'
!


!DuplicateWriteStream class methodsFor:'instance creation'!

on: aDestination duplicate: aSecondDestination

	^self new on: aDestination duplicate: aSecondDestination
! !

!DuplicateWriteStream methodsFor:'accessing'!

write: anInteger from: aSequenceableCollection at: startIndex

	[	destination write: anInteger from: aSequenceableCollection at: startIndex
	] on: Incomplete do: [ :incomplete |
		duplicate write: incomplete count from: aSequenceableCollection at: startIndex.
		incomplete pass ].
	duplicate write: anInteger from: aSequenceableCollection at: startIndex.
	^anInteger
! !

!DuplicateWriteStream methodsFor:'initialize-release'!

contentsSpecies

	^destination contentsSpecies
!

on: aDestination duplicate: aSecondDestination

	super on: aDestination.
	duplicate := aSecondDestination
! !

!DuplicateWriteStream class methodsFor:'documentation'!

version_HG

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

version_SVN
    ^ '$Id$'
! !