AioPlugin provides support for asynchronous 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. Currently this works with the Unix VM.
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.
Changes in AIO 2.1.2 since 2.0:
Version 2.1.2:
Handle #platformName move to SmalltalkImage.
Version 2.1.1:
Fix underscores. No functional changes.
Version 2.1:
Eliminate some #cCode: calls, keep consistent with OSPP.
Add #shouldBeTranslatedFor: to support VMM cross generation.
Previous versions of AIO plugin:
AioPlugin V2.0 AioPluginV2-0.sar (Sept 2005)
Provide 64-bit compatibility. The AIO plugin now compiles and runs for both 32 bit and 64 bit Unix VMs and executes on 32 or 64 bit hardware.
The AioEventHander has been removed from this package, and will be merged into all future versions of OSProcess.
AioEventHandler provides image side support for aio event notification. 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.