Provided by: ivtools-dev_1.2.11a1-11_amd64 bug

NAME

       IOHandler - read input, write output, or handle an I/O exception or timeout

SYNOPSIS

       #include <Dispatch/iohandler.h>

DESCRIPTION

       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 expires.

       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.

PUBLIC OPERATIONS

       virtual int inputReady(int fd)
       virtual int outputReady(int fd)
       virtual int exceptionRaised(int fd)
              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.

       virtual void timerExpired(long sec, long usec)
              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.

SEE ALSO

       Dispatcher(3I), IOCallback(3I)