I've opened an issue

https://pharo.fogbugz.com/f/cases/22466/Add-readWriteStream-and-readWriteStreamDo-in-FileSystem

On Tue, Sep 18, 2018 at 10:14 AM Guillermo Polito <guillermopolito@gmail.com> wrote:
Hi Sven,

On Mon, Sep 17, 2018 at 4:14 PM Sven Van Caekenberghe <sven@stfx.eu> wrote:
Hi,

Since ever (or as far as I can remember), FileReference made a distinction between read and write streams, see #readStream[Do:] and #writeStream[Do:] - these return a ZnCharacterReadStream and ZnCharacterWriteStream in Pharo 7.

I think so too.
��

Along the same lines, #binaryReadStream and #binaryWriteStream where introduced.

Well, when I did the stream changes on FileSystem, there was already support for binary streams. I just exposed it in the API :)
��
However, the first returns a ZnBufferedReadStream (OK) while the latter returns a ZnBufferedReadWriteStream. Why ?

I cannot tell now the details, but there were some parts of the system where it was assumed that a write-stream is read-write.
IIRC this was related with the changes/sources file handling.
��

I think it would be generally better if a standard ZnBufferedWriteStream where returned.

ZnBufferedReadWriteStream is not a very pretty class to say the least, it also strikes me as confusing.

What would break if we changed this ?

If necessary there could be something like #readWriteStream[Do:] I guess.

That could be a cleaner way to do this, yes.
And this would isolate strange uses.
��

Sven




--

������

Guille Polito

Research Engineer

Centre de Recherche en Informatique, Signal et Automatique de Lille

CRIStAL - UMR 9189

French National Center for Scientific Research - http://www.cnrs.fr


Web: http://guillep.github.io

Phone: +33 06 52 70 66 13



--

������

Guille Polito

Research Engineer

Centre de Recherche en Informatique, Signal et Automatique de Lille

CRIStAL - UMR 9189

French National Center for Scientific Research - http://www.cnrs.fr


Web: http://guillep.github.io

Phone: +33 06 52 70 66 13