[GOODIE] AioPlugin (generic async IO event notification for sockets, files, etc)

David T. Lewis lewis at mail.msen.com
Sat Jul 5 23:18:31 UTC 2003


These change sets provide generic external IO event notification for
asynchronous input. Currently this works with the Unix VM.

AioPlugin provides support for asychronous IO event notification. When
an external IO event occurs, the event registration causes a Smalltalk
semaphore to be signaled. A process can wait on this semaphore, thereby
acting as an event handler for the external event.

UnixAioPlugin implements the primitives that interact with the aio
mechanism in the Unix VM. Other platform-specific subclasses could be
written to provide a compatible aio mechanism for other platforms.

AioEventHandler provides image side support for aio event notification.
AioPlugin is required for this to work.

An AioEventHandler is an object that waits for an external IO event to
occur, then sends #changed to itself. Any object that is interested in
the external event can register itself as a dependent of the AioEventHandler,
and take appropriate action whenever the external event occurs.

AioEventHanderExample demonstrate asynchronous read handers for file streams,
OS pipes, standard input, and sockets. See class category 'examples'. Some
examples require OSProcess.

Dave

-------------- next part --------------
A non-text attachment was scrubbed...
Name: AioPlugin-dtl.1.cs.gz
Type: application/x-gunzip
Size: 3915 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20030705/ec1f88b7/AioPlugin-dtl.1.cs.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: AioEventHandler-dtl.1.cs.gz
Type: application/x-gunzip
Size: 3057 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20030705/ec1f88b7/AioEventHandler-dtl.1.cs.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: AioEventHandlerExample-dtl.1.cs.gz
Type: application/x-gunzip
Size: 2258 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20030705/ec1f88b7/AioEventHandlerExample-dtl.1.cs.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: LinuxPluginThatMightWorkOnYourSystemOrMaybeNot.zip
Type: application/x-zip-compressed
Size: 10486 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20030705/ec1f88b7/LinuxPluginThatMightWorkOnYourSystemOrMaybeNot.bin


More information about the Squeak-dev mailing list