I've opened an issue https://pharo.fogbugz.com/f/cases/22466/Add-readWriteStream-and-readWriteStr... 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 <http://www.cnrs.fr>*
*Web:* *http://guillep.github.io* <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 <http://www.cnrs.fr>* *Web:* *http://guillep.github.io* <http://guillep.github.io> *Phone: *+33 06 52 70 66 13