… | |
… | |
131 | |
131 | |
132 | If C<eio_poll ()> is configured to not handle all results in one go |
132 | If 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 |
134 | C<eio_poll> until it returns something C<!= -1>. |
134 | C<eio_poll> until it returns something C<!= -1>. |
135 | |
135 | |
136 | A full-featured conenctor between libeio and libev would look as follows |
136 | A 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 |
138 | lot by removing the idle watcher logic): |
138 | lot 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 | |
281 | Cancel the request (and all it's subrequests). If the request is currently |
281 | Cancel the request (and all its subrequests). If the request is currently |
282 | executing it might still continue to execute, and in other cases it might |
282 | executing it might still continue to execute, and in other cases it might |
283 | still take a while till the request is cancelled. |
283 | still take a while till the request is cancelled. |
284 | |
284 | |
285 | Even if cancelled, the finish callback will still be invoked - the |
285 | Even if cancelled, the finish callback will still be invoked - the |
286 | callbacks of all cancellable requests need to check whether the request |
286 | callbacks of all cancellable requests need to check whether the request |