NAME¶
Reading/Writing - 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.