From: Martin Mares Date: Thu, 20 Sep 2007 17:48:30 +0000 (+0200) Subject: Added a very brief introduction to ASIO. X-Git-Tag: holmes-import~506^2~13^2 X-Git-Url: http://mj.ucw.cz/gitweb/?a=commitdiff_plain;h=21bfef1202d491588afa0cc1882d1af3533e4dc2;p=libucw.git Added a very brief introduction to ASIO. --- diff --git a/lib/asio.h b/lib/asio.h index d17ee7ff..6773c81f 100644 --- a/lib/asio.h +++ b/lib/asio.h @@ -13,7 +13,19 @@ #include "lib/workqueue.h" #include "lib/clists.h" -/* FIXME: Comment, especially on request ordering */ +/* + * This module takes care of scheduling and executing asynchronous I/O requests + * on files opened with O_DIRECT. It is primarily used by the fb-direct fastbuf + * back-end, but you can use it explicitly, too. + * + * You can define several I/O queues, each for use by a single thread. Requests + * on a single queue are always processed in order of their submits, requests + * from different queues may be interleaved (although the current implementation + * does not do so). Normal read and write requests are returned to their queue + * when they are completed. Write-back requests are automatically freed when + * done, but the number of such requests in fly is limited in order to avoid + * consuming all memory, so a submit of a write-back request can block. + */ struct asio_queue { uns buffer_size; // How large buffers do we use [user-settable]