With both of your answers I understand that there was a problem and apparently no good reason to have a ReadLimit set at 0.That was my question, thank you :)
(anyway this problem should disapear when Nile will replace the actual Stream hierarchy ;)) 2009/6/30 Henrik Johansen <henrik.s.johan...@veloxit.no> > Well, my point was that by copying that, you don't set writeLimit, so > attempting to write to the ReadWriteStream results in an error... > (which is why I gave a test that both reads and writes instead of just > reading) > In that case, what's the point? It's functionality is then just the > same as a ReadStream. (Which is doubly confusing, seeing as it > inherits from WriteStream) > > so doing it your way, we'd have to do: > > on: aCollection > readLimit := aCollection size. > writeLimit := aCollection size. > position := 0. > self reset. > > instead of a straight copy. > > Btw, your version has a dependency on the super as well, mainly that > it defines the correct instvars. :) > Which version to prefer comes down to taste, I guess. > > Cheers, > Henry > > On Jun 30, 2009, at 3:54 35PM, Alexandre Bergel wrote: > > >> You haven't set the writeLimit by just copying PositionableStream > >> though, have you? > > > > I suggested to copy PositionableStream>>on: in ReadWriteStream: > > on: aCollection > > > > collection := aCollection. > > readLimit := aCollection size. > > position := 0. > > self reset > > > > Your implementation works well too, it has no duplication, but has a > > dependency over the implementation of the superclass. > > > > Cheers, > > Alexandre > > > > > >> > >> > >> > >> On Jun 30, 2009, at 3:00 46PM, Alexandre Bergel wrote: > >> > >>>> Put the readLimit at 0 make sense for a WriteStream ( with witch > >>>> your not supposed to read ) but when you create a ReadWriteStream > >>>> on > >>>> a collection you would be able to read what is already in the > >>>> collection, no? > >>>> I wonder why #on: has not been overriden in the instance side of > >>>> ReadWriteStream ? > >>>> Maybe it's not a good idea to create a ReadWriteStream with a > >>>> collection that already includes elements ? > >>> > >>> > >>> It looks like on: must be overridden in ReadWriteStream. > >>> With ReadStream I have: > >>> (ReadStream on: (1 to: 20)) next => 1 > >>> (ReadStream on: (1 to: 20)) next; next => 2 > >>> > >>> However, with ReadWriteStream, nil is returned, for the very problem > >>> you mentioned: > >>> (ReadWriteStream on: (1 to: 20)) next => nil > >>> > >>> If I cut and paste PositionnableStream>>on: in ReadWriteStream, > >>> then I > >>> have the behavior I expected: > >>> (ReadWriteStream on: (1 to: 20)) next => 1 > >>> (ReadWriteStream on: (1 to: 20)) next; next => 2 > >>> > >>> Cheers, > >>> Alexandre > >>> > >>> -- > >>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: > >>> Alexandre Bergel http://www.bergel.eu > >>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. > >>> > >>> > >>> > >>> > >>> > >>> > >>> _______________________________________________ > >>> Pharo-project mailing list > >>> Pharo-project@lists.gforge.inria.fr > >>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > >>> > >> > >> > >> _______________________________________________ > >> Pharo-project mailing list > >> Pharo-project@lists.gforge.inria.fr > >> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > >> > > > > -- > > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: > > Alexandre Bergel http://www.bergel.eu > > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. > > > > > > > > > > > > > > _______________________________________________ > > Pharo-project mailing list > > Pharo-project@lists.gforge.inria.fr > > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > > > > > _______________________________________________ > Pharo-project mailing list > Pharo-project@lists.gforge.inria.fr > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project >
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project