Каждое событие обозначено одной из констант, которые перечислены в таблице ниже. Они подразделяются на константы, которые могут быть добавлены к битовым маскам, направляемым в метод poll () с использованием метода mask (), и константы, которые возвращаются из метода poll () с помощью метода handles ().
Таблица. Константы маски модуля IO:: Poll
В метод
Из метода
Описание
poll()
poll ()
Ситуации ввода
POLLIN
X
X
Доступны для чтения обычные или высокоприоритетные данные
POLLRDNORM
X
X
Доступны для чтения обычные данные
POLLRDBAND
X
X
Доступны для чтения высокоприоритетные данные
POLLPRI
X
X
Доступны для чтения данные с наивысшим приоритетом
Ситуации вывода
POLLOUT
X
X
Доступны для записи обычные или высокоприоритетные данные
POLLWRNORM
X
X
Доступны для записи обычные данные
POLLWRBAND
X
X
Доступны для записи высокоприоритетные данные
Аварийные
ситуации
POLLHUP
X
Произошло зависание
POLLNVAL
X
Дескриптор не открыт
POLLERR
X
Ошибка
Ниже каждое событие описано более подробно.
POLLIN. В дескрипторе имеются данные для чтения, и функция sysread () не заблокируется. В случае приемного сокета по маске POLLIN распознается и наличие входящего соединения, и функция accept () не заблокируется. Событие происходящее при обнаружении конца файла, зависит от операционной системы и будет описано позжё.
POLLRDNORM.. Это событие аналогично POLLIN, но относится только к обычным (неприоритетным) данным.
POLLRDBAND. Для чтения доступны высокоприоритетные данные. Попытка прочитать внеочередные данные будет выполнена успешно.
POLLPRI. Для чтения доступны данные “с наивысшим приоритетом”. (Данные с наивысшим приоритетом — это исторический пережиток, и они не должны использоваться в программировании TCP/IP.) ,