Commit b7f05445c0
has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
21 lines
1.2 KiB
Text
21 lines
1.2 KiB
Text
IO::AIO implements asynchronous I/O using whatever means your operating system
|
|
supports. It is implemented as an interface to libeio.
|
|
|
|
Asynchronous means that operations that can normally block your program (e.g.
|
|
reading from disk) will be done asynchronously: the operation will still block,
|
|
but you can do something else in the meantime. This is extremely useful for
|
|
programs that need to stay interactive even when doing heavy I/O (GUI programs,
|
|
high performance network servers etc.), but can also be used to easily do
|
|
operations in parallel that are normally done sequentially, e.g. stat'ing many
|
|
files, which is much faster on a RAID volume or over NFS when you do a number of
|
|
stat operations concurrently.
|
|
|
|
While most of this works on all types of file descriptors (for example sockets),
|
|
using these functions on file descriptors that support nonblocking operation
|
|
(again, sockets, pipes etc.) is very inefficient. Use an event loop for that
|
|
(such as the EV module): IO::AIO will naturally fit into such an event loop
|
|
itself.
|
|
|
|
In addition to asynchronous I/O, this module also exports some rather arcane
|
|
interfaces, such as madvise or linux's splice system call, which is why the A in
|
|
AIO can also mean advanced.
|