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.
about globus |
grid research |
globus toolkit |