Next: , Previous: , Up: Libraries   [Index]

13.12 The Control Library

The control library is concerned with such control paradigms as event and activity scheduling and I/O channel polling.

The library describes one data type, the ‘dispatch’ type. It is against objects of such type that I/O channels may be recorded and events and activities scheduled. The combined sets may then be run until empty or stopped explicitly.

Events and activities are introduced as scheduled function calls. Input channels are also introduced like that, with the calls executed when input is available. Output channels are polled until drained, then automatically deregistered.

The I/O channels are monitored and the schedules are kept only when the recording ‘dispatch’ objects are executed. The execution completes when there’s nothing left recorded or on explicit command.

Functions taking reference arguments are not registered.

All the objects relevant to the programmed I/O monitoring, time events and activities are retained and will survive for as long as they are relevant.

The control library is a new development and likely incomplete, experimental and likely to change.