From 972afe425e3ea86a60b42ec1eda9e1bd2948b18f Mon Sep 17 00:00:00 2001 From: root Date: Wed, 29 Jun 2011 10:32:55 +0000 Subject: *** empty log message *** --- Changes | 2 ++ eio.c | 2 +- eio.pod | 27 ++++++++++++++++++++++++++- 3 files changed, 29 insertions(+), 2 deletions(-) diff --git a/Changes b/Changes index bde7245..df451d9 100644 --- a/Changes +++ b/Changes @@ -48,3 +48,5 @@ TODO: fadvise request where sendfile would not transfer all the requested bytes on large transfers, using a heuristic. - use libecb, and apply lots of minor space optimisations. + - disable sendfile on darwin, broken as everything else. + diff --git a/eio.c b/eio.c index 2ee77c7..7330a7f 100644 --- a/eio.c +++ b/eio.c @@ -1008,7 +1008,7 @@ eio__sendfile (int ofd, int ifd, off_t offset, size_t count, etp_worker *self) if (sbytes) res = sbytes; -# elif defined (__APPLE__) +# elif defined (__APPLE__) && 0 /* broken, as everything on os x */ off_t sbytes = count; res = sendfile (ifd, ofd, offset, &sbytes, 0, 0); diff --git a/eio.pod b/eio.pod index c55f1e8..d14df1c 100644 --- a/eio.pod +++ b/eio.pod @@ -155,7 +155,10 @@ You submit a request by calling the relevant C function with the required parameters, a callback of type C (called C below) and a freely usable C argument. -The return value will either be 0 +The return value will either be 0, in case something went really wrong +(which can basically only happen on very fatal errors, such as C +returning 0, which is rather unlikely), or a pointer to the newly-created +and submitted C. The callback will be called with an C which contains the results of the request. The members you can access inside that structure @@ -570,6 +573,28 @@ not really of much use. =head3 GROUPING AND LIMITING REQUESTS +There is one more rather special request, C. It is a very special +aio request: Instead of doing something, it is a container for other eio +requests. + +There are two primary use cases for this: a) bundle many requests into a +single, composite, request with a definite callback and the ability to +cancel the whole request with its subrequests and b) limiting the number +of "active" requests. + +Further below you will find more dicussion of these topics - first follows +the reference section detailing the request generator and other methods. + +=over 4 + +=item eio_grp (eio_cb cb, void *data) + +Creates and submits a group request. + +=back + + + #TODO /*****************************************************************************/ -- cgit v1.2.3