NAME
Reading/Writing -
Both the globus_xio_register_read() and globus_xio_register_write()
calls follow similar semantics as described below. Both the
globus_xio_register_read() and globus_xio_register_write() calls follow
similar semantics as described below.
If the waitforbytes parameter is greater than zero, the io will happen
asynchronously and be completed when at least waitforbytes has been
read/written.
If the waitforbytes parameter is equal to zero, one of the following
alternative behaviors occur:
If the length of the buffer is > 0 the read or write happens
synchronously. If the user is using one of the blocking xio calls, no
internal callback will occur.
If the length of the buffer is also 0, the call behaves like an
asynchronous notification of data ready to be either read or written.
ie, an asynchronous select().
In any case, when an error or EOF occurs before the waitforbytes
request has been met, the outgoing nbytes is set to the amount of data
actually read/written before the error or EOF occurred.
You may either use GLOBUS_XIO_FILE_SEEK or GLOBUS_XIO_SEEK to position
the file pointer before each read or write or you can specify the
desired offset on a data descriptor with the xio cmd,
GLOBUS_XIO_DD_SET_OFFSET. simultaneous reading and writing is only
predictable if the data descriptor method is used.
Author
Generated automatically by Doxygen for globus xio from the source code.