"Fossies" - the Fresh Open Source Software archive
Member "ivtools-1.2/src/man/man3/IOHandler.3" of archive ivtools-1.2.11.tgz:
Table of Contents
IOHandler - read input, write output, or handle an I/O exception or
An iohandler reads
data from a file descriptor, writes data to a file descriptor, handles
an I/O exception on a file descriptor, or handles a timer’s expiration.
Once the user has requested the dispatcher to attach an iohandler to a
file descriptor or a timer, the dispatcher will automatically notify the
iohandler when the file descriptor’s I/O condition changes or the timer
For convenience, the user can use a derived generic class (see
IOCallback(3I)) to make the iohandler do nothing more than call an arbitrary
object’s member function.
- virtual int inputReady(int fd)
- virtual int outputReady(int fd)
- virtual int exceptionRaised(int fd)
dispatcher will call one of these functions to notify an iohandler that
it can read data from a file descriptor, write data to a file descriptor,
or handle an I/O exception on a file descriptor. The iohandler should perform
the appropriate action and tell the dispatcher what to do next. A negative
return value means that the iohandler encountered an error or it doesn’t
want to read or write anything more. The dispatcher will unlink the iohandler
from its file descriptor automatically. A positive return value means that
the iohandler didn’t read or write everything that it could have. The dispatcher
will call the iohandler again in round robin fashion WITHOUT checking select,
which means that the iohandler will be called again as soon as the rest
of the iohandlers have performed their actions. A zero return value means
that the iohandler finished reading or writing everything it was able to.
The dispatcher must check the descriptor’s status with the select call
before it can call the iohandler again.
- virtual void timerExpired(long sec,
- The dispatcher will call this function to notify an iohandler
that a timer has expired. For informational purposes, the parameters give
the current time in seconds and microseconds since midnight January 1,
1970. If the iohandler wants to reset the timer, it must tell the dispatcher
to start another timer.
Table of Contents