bionic (3) IOHandler.3I.gz

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)