[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
|