virtualintinputReady(intfd)virtualintoutputReady(intfd)virtualintexceptionRaised(intfd)
The 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.
virtualvoidtimerExpired(longsec,longusec)
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.