Существуют страницы, разбросанные по сети, которые описывают объекты POSIX AIO в различном количестве деталей. Ни один из них не ужасно недавний. Неясно, что именно они описывают. Например, официальный сайт (?) для поддержки асинхронного ввода-вывода ядра Linux здесь говорит, что сокеты не работают, но На страницах руководства "aio.h" на моей рабочей станции Ubuntu 8.04.1 все, кажется, подразумевает, что он работает для произвольных дескрипторов файлов. Затем другой проект, который, кажется, работает на уровне библиотеки с еще меньшей документацией.
Я хотел бы знать:
- Какова цель POSIX AIO? Учитывая, что наиболее очевидный пример реализации, который я могу найти, говорит, что он не поддерживает сокеты, все это кажется мне странным. Это просто для ввода/вывода асинхронного диска? Если да, то почему гипер-общий API? Если нет, то почему диск ввода/вывода - первое, на что на него напали?
- Где есть примеры завершенных программ POSIX AIO, на которые я могу смотреть?
- Кто-нибудь действительно использует его, на самом деле?
- Какие платформы поддерживают POSIX AIO? Какие части этого они поддерживают? Кто-нибудь действительно поддерживает подразумеваемый "Любой ввод-вывод для любого FD", который, по-видимому, обещает
<aio.h>
?
Другие механизмы мультиплексирования, доступные мне, совершенно хороши, но случайные фрагменты информации, плавающие вокруг, вызывали у меня любопытство.