Модуль coio
Событие READ
Событие WRITE
Ожидать событие READ или WRITE на сокете (fd). Передаёт управление.
Параметры:
-
fd(int) — файловый дескриптор неблокирующего сокета -
event(int) — запрашиваемые для ожидания события. Комбинация битовых флаговCOIO_READ | COIO_WRITE. -
timeout(double) — время ожидания в секундах.
Возвращает
0 - истекло время ожидания
Возвращает
0 - возвращённые события. Комбинация битовых флагов TNT_IO_READ | TNT_IO_WRITE.
Создать новую задачу eio с указанной функцией и аргументами. Передать управление и ожидать завершения задачи. Эта функция может использовать параметр конфигурации worker_pool_threads.
Чтобы избежать двойной проверки ошибок, эта функция не выбрасывает исключения. В большинстве случаев также необходимо проверить возвращаемое значение вызванной функции и выполнить требуемые действия. Если func устанавливает errno, значение errno сохраняется после вызова.
Возвращает
-1 и errno = ENOMEM, если не удалось создать задачу
Возвращает
значение, возвращённое функцией (errno сохраняется).
Пример:
static ssize_t openfile_cb(va_list ap){const char* filename = va_arg(ap);int flags = va_arg(ap);return open(filename, flags);}if (coio_call(openfile_cb, "/tmp/file", 0) == -1)// handle errors....
int coio_getaddrinfo(const char *host, const char *port, const struct addrinfo *hints, struct addrinfo **res, double timeout)
Версия getaddrinfo(3), дружественная к файберам.
Закрыть fd и разбудить все файберы, заблокированные в вызове
coio_wait() для этого fd.
Параметры:
fd(int) — файловый дескриптор неблокирующего сокета
Возвращает
результат close(fd), см. close(2)