# Класс EventDnsBase

(PECL event >= 1.2.6-beta)

## Введение

Представляет структуру DNS библиотеки Libevent. Используется для асинхронного разрешения DNS, разбора конфигурационного файла resolv.conf и т.д.

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

final class EventDnsBase {
/* Константы */
const int OPTION_SEARCH = 1;
const int OPTION_NAMESERVERS = 2;
const int OPTION_MISC = 4;
const int OPTION_HOSTSFILE = 8;
const int OPTIONS_ALL = 15;
const int DISABLE_WHEN_INACTIVE = 32768;
const int INITIALIZE_NAMESERVERS = 1;
const int NAMESERVERS_NO_DEFAULT = 65536;
/* Методы */
public function __construct( EventBase `$base` , int|bool `$initialize` )
public function addNameserverIp( string `$ip` ): bool
public function addSearch( string `$domain` ): void
public function clearSearch(): void
public function countNameservers(): int
public function loadHosts( string `$hosts` ): bool
public function parseResolvConf( int `$flags` , string `$filename` ): bool
public function setOption( string `$option` , string `$value` ): bool
public function setSearchNdots( int `$ndots` ): bool
}

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

`EventDnsBase::OPTION_SEARCH`

  Указывает читать домен и поля поиска из файла `resolv.conf` и опции `ndots` и использовать их для определения доменов (если есть), в которых будет выполняться поиск по короткому имени хоста.

`EventDnsBase::OPTION_NAMESERVERS`

  Указывает использовать серверы имён, указанные в записи nameservers файла `resolv.conf`.

`EventDnsBase::OPTION_MISC`

`EventDnsBase::OPTION_HOSTSFILE`

  Указывает брать список хостов из файла `/etc/hosts` при загрузке `resolv.conf`.

`EventDnsBase::OPTIONS_ALL`

  Указывает использовать всё, что только возможно, из файла `resolv.conf`.

`EventDnsBase::DISABLE_WHEN_INACTIVE`

  Не запрещать выход из цикла событий модуля libevent, когда нет активных DNS-запросов.

`EventDnsBase::INITIALIZE_NAMESERVERS`

  Обработать файл `resolv.conf`.

`EventDnsBase::NAMESERVERS_NO_DEFAULT`

  Не добавлять сервер имён (nameservers) по умолчанию, если в файле `resolv.conf` нет записи nameserver.

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

- EventDnsBase::addNameserverIp — Добавляет сервер имён в базу DNS
- EventDnsBase::addSearch — Добавляет домен в список поисковых доменов
- EventDnsBase::clearSearch — Удаляет все текущие суффиксы поиска
- EventDnsBase::__construct — Конструктор объекта EventDnsBase
- EventDnsBase::countNameservers — Получает количество настроенных серверов имён
- EventDnsBase::loadHosts — Загружает DNS-записи из файла наподобие /etc/hosts
- EventDnsBase::parseResolvConf — Сканирует файл в формате resolv.conf
- EventDnsBase::setOption — Устанавливает значение параметра конфигурации
- EventDnsBase::setSearchNdots — Устанавливает параметр 'ndots' для поиска

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