Вступ

Модуль реалізує підсистему введення-виведення POSIX I/O засобів » libeioБиблиотека C Написана Марком Леманном (Marc Lehmann).

Зауваження: Для Windows-платформ цей модуль недоступний.

Увага

Слід врахувати, кожен запит виконується окремому потоці, у своїй виконання запитів безупинно, які порядок у черзі виконання непередбачуваний. Наприклад, наведений нижче приклад коду невірний.

Приклад #1 Приклад неправильних запитів

Loading...

У наведеному вище прикладі запит eio_rename() може бути виконаний перед eio_symlink(). Правильним рішенням буде виклик eio_rename() callback-функцією в eio_symlink() :

Приклад #2 Створення запиту за допомогою callback-функції

Loading...

Альтернативним рішенням є створення групи запитів:

Приклад #3 Створення запиту за допомогою callback-функції

Loading...

Група – це спеціальний вид запиту, що дозволяє створити набір звичайних. eio-запитів. Це може бути використане для створення складних запитів, які відкривають, читають та закривають файл.

Починаючи з версії 0.3.0 alpha, змінна, що використовується для внутрішньої взаємодії з libeio, може бути отримана функцією eio_get_event_stream(). Змінна може бути використана для прив'язки до циклу обробки, що поставляється стороннім модулем. Можливо організувати простий цикл обробки, де eio і libevent працюють спільно.

Приклад #4 Використання eio спільно з libevent

Loading...