[squeak-dev] Faster FileStream experiments

Colin Putney cputney at wiresong.ca
Fri Nov 27 16:41:03 UTC 2009


On 27-Nov-09, at 8:03 AM, David T. Lewis wrote:

> I implemented IOHandle for this, see http://wiki.squeak.org/squeak/ 
> 996.
> I have not maintained it since about 2003, but the idea is  
> straightforward.

Yes. I looked into IOHandle when implementing Filesystem, but decided  
to go with a new (simpler, but limited) implementation that would let  
me explore the requirements for the stream architecture I had in mind.

> My purpose at that time was to :
>
>  * Separate the representation of external IO channels from the  
> represention
>    of streams and communication protocols.
>  * Provide a uniform representation of IO channels similar to the  
> unix notion
>    of treating everything as a 'file'.
>  * Simplify future refactoring of Socket and FileStream.
>  * Provide a place for handling asynchronous IO events. Refer to the  
> aio
>    handling in the unix VM. Files, Sockets, and AsyncFiles could  
> (should) use
>    a common IO event handling mechanism (aio event signaling a  
> Smalltalk Semaphore).

Indeed. Filesystem comes at this from the other direction, but I think  
we want to end up in the same place. For now I've done TSTTCPW, which  
is use the primitives from the FilePlugin. But eventually I want to  
improve the plumbing. You've done some important work here - perhaps  
Filesystem can use AioPlugin at some point.

Colin



More information about the Squeak-dev mailing list