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