devel/p5-IO-AIO 4.81 FreeBSD
Asynchronous/Advanced Input/Output
- System
- FreeBSD
- Repository
- FreeBSD ports
- Maintainer
- [email protected]
- License
- ART10, GPLv1+
- Categories
- devel, perl5
- Package size
- 107.2 KiB, 268.8 KiB installed
Description
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.
In the other systems
| System | Port | Version |
|---|---|---|
| FreeBSD | devel/p5-IO-AIO | 4.81 |
| OpenBSD | devel/p5-IO-AIO | 4.81p0 |
| NetBSD | devel/p5-IO-AIO | 4.81nb3 |
| DragonFly | devel/p5-IO-AIO | 4.81 |
| HardenedBSD | devel/p5-IO-AIO | 4.81 |
| GhostBSD | devel/p5-IO-AIO | 4.81 |
Install
Binary package:
pkg install p5-IO-AIO
From the ports tree:
cd /usr/ports/devel/p5-IO-AIO/ && make install clean
To depend on this port in another port's Makefile:
RUN_DEPENDS= p5-IO-AIO>0:devel/p5-IO-AIO
Packages
The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.
| Repository | aarch64 | amd64 | armv6 | armv7 | i386 |
|---|---|---|---|---|---|
| FreeBSD:14:latest | 4.81 | 4.81 | 4.79 | 4.81 | 4.81 |
| FreeBSD:14:quarterly | 4.81 | 4.81 | n/a | 4.81 | 4.81 |
| FreeBSD:15:latest | 4.81 | 4.81 | n/a | 4.81 | 4.81 |
| FreeBSD:15:quarterly | 4.81 | 4.81 | n/a | n/a | n/a |
| FreeBSD:16:latest | 4.81 | 4.81 | n/a | n/a | n/a |
| FreeBSD:16:quarterly | n/a | n/a | n/a | n/a | n/a |
Dependencies
As this port's Makefile names them.
Build 1
p5-common-sense>=0: devel/p5-common-sense
Runtime 1
p5-common-sense>=0: devel/p5-common-sense
The full lists below include those, and their dependencies in turn.
Build dependencies 2
Run dependencies 2
Required by 17
- devel/p5-AnyEvent-AIO
- devel/p5-Coro
- devel/p5-SVN-S4
- mail/p5-Net-IMAP-Server
- net/p5-Net-RabbitFoot
- net/p5-Net-SSH-Mechanize
- net/p5-Net-Server-Coro
- sysutils/p5-MogileFS-Network
- sysutils/p5-MogileFS-Server
- www/p5-Continuity
- www/p5-Corona
- www/p5-FurlX-Coro
- www/p5-Perlbal-Plugin-PSGI
- www/p5-Plack-Server-Coro
- www/p5-Squatting
- www/p5-Squatting-On-PSGI
- www/perlbal
Configuration
No options to configure.
- USES
- perl5
- Service scripts
- none
Files
pkg-plist 5
- bin/treescan
- %%SITE_ARCH%%/IO/AIO.pm
- %%SITE_ARCH%%/auto/IO/AIO/AIO.so
- %%PERL5_MAN1%%/treescan.1.gz
- %%PERL5_MAN3%%/IO::AIO.3.gz
distinfo 1
| File | Size | SHA256 |
|---|---|---|
| IO-AIO-4.81.tar.gz | 189526 | 67029f20e9b734ac1f483f7175d4ce45f924581c7de8fdf44e20c79be6dc0729 |
Master sites 1
- CPAN
Commit history 0
No commits in the history this site was built from.