# Класс EventUtil

(PECL event >= 1.5.0)

## Введение

Класс EventUtil — класс-одиночка, или синглтон (Singleton), со вспомогательными методами и константами.

## Обзор класса

final class EventUtil {
/* Константы */
const int AF_INET = 2;
const int AF_INET6 = 10;
const int AF_UNSPEC = 0;
const int LIBEVENT_VERSION_NUMBER = 33559808;
const int SO_DEBUG = 1;
const int SO_REUSEADDR = 2;
const int SO_KEEPALIVE = 9;
const int SO_DONTROUTE = 5;
const int SO_LINGER = 13;
const int SO_BROADCAST = 6;
const int SO_OOBINLINE = 10;
const int SO_SNDBUF = 7;
const int SO_RCVBUF = 8;
const int SO_SNDLOWAT = 19;
const int SO_RCVLOWAT = 18;
const int SO_SNDTIMEO = 21;
const int SO_RCVTIMEO = 20;
const int SO_TYPE = 3;
const int SO_ERROR = 4;
const int SOL_SOCKET = 1;
const int SOL_TCP = 6;
const int SOL_UDP = 17;
const int IPPROTO_IP = 0;
const int IPPROTO_IPV6 = 41;
/* Методы */
abstract public function __construct()
public static function getLastSocketErrno( mixed `$socket` = `null` ): int
public static function getLastSocketError( mixed `$socket` = ?): string
public static function getSocketFd( mixed `$socket` ): int
public static function getSocketName( mixed `$socket` , string `&$address` , mixed `&$port` = ?): bool
public static function setSocketOption(
mixed `$socket` ,
int `$level` ,
int `$optname` ,
mixed `$optval`
): bool
public static function sslRandPoll(): void
}

## Предопределённые константы

`EventUtil::AF_INET`

  Семейство адресов IPv4.

`EventUtil::AF_INET6`

  Семейство адресов IPv6.

`EventUtil::AF_UNSPEC`

  Неопределённое семейство IP-адресов.

`EventUtil::SO_DEBUG`

  Опция сокета. Включает отладку сокета. Опцию устанавливают только для процессов с доступом к сетевым операциям, которые даёт константа `CAP_NET_ADMIN`, или для пользователя с эффективным идентификатором `0`. Опцию добавили в модуле event-1.6.0.

`EventUtil::SO_REUSEADDR`

  Опция сокета. Опция указывает, что правила проверки адресов, которые предоставил вызов `bind(2)`, разрешают переиспользовать локальные адреса. Смотрите руководство по функции `socket(7)`. Опцию добавили в модуле event-1.6.0.

`EventUtil::SO_KEEPALIVE`

  Опция сокета. Опция разрешает посылать сообщения keep-alive на сокетах, ориентированных на соединение. Ожидается целочисленный логический флаг. Смотрите руководство по `socket(7)`. Опцию добавили в модуле event-1.6.0.

`EventUtil::SO_DONTROUTE`

  Опция сокета. Смотрите руководство по `socket(7)`. Опцию добавили в модуле event-1.6.0.

`EventUtil::SO_LINGER`

  Опция сокета. При включённой опции вызовы функции `close(2)` или `shutdown(2)` не завершатся, пока каждое сообщение в очереди для сокета не отправится успешно, либо пока не истечёт время ожидания, иначе вызов немедленно завершается, а закрытие выполняется в фоновом режиме. Смотрите руководство по `socket(7)`. Опцию добавили в модуле event-1.6.0.

`EventUtil::SO_BROADCAST`

  Опция сокета. Опция указывает, разрешили ли передачу широковещательных сообщений. Смотрите руководство по `socket(7)`. Опцию добавили в модуле event-1.6.0.

`EventUtil::SO_OOBINLINE`

  Опция сокета. Смотрите руководство по `socket(7)`. Опцию добавили в модуле event-1.6.0.

`EventUtil::SO_SNDBUF`

  Опция сокета. Смотрите руководство по `socket(7)`. Опцию добавили в модуле event-1.6.0.

`EventUtil::SO_RCVBUF`

  Опция сокета. Смотрите руководство по `socket(7)`. Опцию добавили в модуле event-1.6.0.

`EventUtil::SO_SNDLOWAT`

  Опция сокета. Смотрите руководство по `socket(7)`. Опцию добавили в модуле event-1.6.0.

`EventUtil::SO_RCVLOWAT`

  Опция сокета. Смотрите руководство по `socket(7)`. Опцию добавили в модуле event-1.6.0.

`EventUtil::SO_SNDTIMEO`

  Опция сокета. Смотрите руководство по `socket(7)`. Опцию добавили в модуле event-1.6.0.

`EventUtil::SO_RCVTIMEO`

  Опция сокета. Смотрите руководство по `socket(7)`. Опцию добавили в модуле event-1.6.0.

`EventUtil::SO_TYPE`

  Опция сокета. Смотрите руководство по `socket(7)`. Опцию добавили в модуле event-1.6.0.

`EventUtil::SO_ERROR`

  Опция сокета. Смотрите руководство по `socket(7)`. Опцию добавили в модуле event-1.6.0.

`EventUtil::SOL_SOCKET`

  Опция сокета level. Смотрите руководство по `socket(7)`. Опцию добавили в модуле event-1.6.0.

`EventUtil::SOL_TCP`

  Опция сокета level. Смотрите руководство по `socket(7)`. Опцию добавили в модуле event-1.6.0.

`EventUtil::SOL_UDP`

  Опция сокета level. Смотрите руководство по `socket(7)`. Опцию добавили в модуле event-1.6.0.

`EventUtil::IPPROTO_IP`

  Смотрите руководство по `socket(7)`. Опцию добавили в модуле event-1.6.0.

`EventUtil::IPPROTO_IPV6`

  Смотрите руководство по `socket(7)`. Опцию добавили в модуле event-1.6.0.

`EventUtil::LIBEVENT_VERSION_NUMBER`

  Номер версии модуля libevent, с которой компилировался модуль.

## Содержание

- EventUtil::__construct — Абстрактный конструктор
- EventUtil::getLastSocketErrno — Получить номер последней возникшей ошибки сокета
- EventUtil::getLastSocketError — Получить последнюю возникшую ошибку сокета
- EventUtil::getSocketFd — Получить числовой файловый дескриптор сокета или потока
- EventUtil::getSocketName — Получить текущий адрес, к которому привязан сокет
- EventUtil::setSocketOption — Устанавливает опции сокета
- EventUtil::sslRandPoll — Сгенерировать энтропию с помощью RAND_poll() из OpenSSL

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open