ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/libeio/eio.pod
(Generate patch)

Comparing libeio/eio.pod (file contents):
Revision 1.18 by root, Tue Jul 5 20:34:42 2011 UTC vs.
Revision 1.22 by root, Fri Jul 8 01:12:39 2011 UTC

131 131
132If C<eio_poll ()> is configured to not handle all results in one go 132If C<eio_poll ()> is configured to not handle all results in one go
133(i.e. it returns C<-1>) then you should start an idle watcher that calls 133(i.e. it returns C<-1>) then you should start an idle watcher that calls
134C<eio_poll> until it returns something C<!= -1>. 134C<eio_poll> until it returns something C<!= -1>.
135 135
136A full-featured conenctor between libeio and libev would look as follows 136A full-featured connector between libeio and libev would look as follows
137(if C<eio_poll> is handling all requests, it can of course be simplified a 137(if C<eio_poll> is handling all requests, it can of course be simplified a
138lot by removing the idle watcher logic): 138lot by removing the idle watcher logic):
139 139
140 static struct ev_loop *loop; 140 static struct ev_loop *loop;
141 static ev_idle repeat_watcher; 141 static ev_idle repeat_watcher;
276 276
277=over 4 277=over 4
278 278
279=item eio_cancel (eio_req *req) 279=item eio_cancel (eio_req *req)
280 280
281Cancel the request (and all it's subrequests). If the request is currently 281Cancel the request (and all its subrequests). If the request is currently
282executing it might still continue to execute, and in other cases it might 282executing it might still continue to execute, and in other cases it might
283still take a while till the request is cancelled. 283still take a while till the request is cancelled.
284 284
285Even if cancelled, the finish callback will still be invoked - the 285Even if cancelled, the finish callback will still be invoked - the
286callbacks of all cancellable requests need to check whether the request 286callbacks of all cancellable requests need to check whether the request
405 free (target); 405 free (target);
406 } 406 }
407 407
408=item eio_realpath (const char *path, int pri, eio_cb cb, void *data) 408=item eio_realpath (const char *path, int pri, eio_cb cb, void *data)
409 409
410Similar to the realpath libc function, but unlike that one, result is 410Similar to the realpath libc function, but unlike that one, C<<
411C<-1> on failure and the length of the returned path in C<ptr2> (which is 411req->result >> is C<-1> on failure. On success, the result is the length
412not 0-terminated) - this is similar to readlink. 412of the returned path in C<ptr2> (which is I<NOT> 0-terminated) - this is
413similar to readlink.
413 414
414=item eio_stat (const char *path, int pri, eio_cb cb, void *data) 415=item eio_stat (const char *path, int pri, eio_cb cb, void *data)
415 416
416=item eio_lstat (const char *path, int pri, eio_cb cb, void *data) 417=item eio_lstat (const char *path, int pri, eio_cb cb, void *data)
417 418
593as calling C<fdatasync>. 594as calling C<fdatasync>.
594 595
595Flags can be any combination of C<EIO_SYNC_FILE_RANGE_WAIT_BEFORE>, 596Flags can be any combination of C<EIO_SYNC_FILE_RANGE_WAIT_BEFORE>,
596C<EIO_SYNC_FILE_RANGE_WRITE> and C<EIO_SYNC_FILE_RANGE_WAIT_AFTER>. 597C<EIO_SYNC_FILE_RANGE_WRITE> and C<EIO_SYNC_FILE_RANGE_WAIT_AFTER>.
597 598
599=item eio_fallocate (int fd, int mode, off_t offset, off_t len, int pri, eio_cb cb, void *data)
600
601Calls C<fallocate> (note: I<NOT> C<posix_fallocate>!). If the syscall is
602missing, then it returns failure and sets C<errno> to C<ENOSYS>.
603
604The C<mode> argument can be C<0> (for behaviour similar to
605C<posix_fallocate>), or C<EIO_FALLOC_FL_KEEP_SIZE>, which keeps the size
606of the file unchanged (but still preallocates space beyond end of file).
607
598=back 608=back
599 609
600=head3 LIBEIO-SPECIFIC REQUESTS 610=head3 LIBEIO-SPECIFIC REQUESTS
601 611
602These requests are specific to libeio and do not correspond to any OS call. 612These requests are specific to libeio and do not correspond to any OS call.

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines