# La classe EventDnsBase

(PECL event >= 1.2.6-beta)

## Introduction

Représente la structure de base DNS de Libevent. Utilisé pour résoudre les DNS de façon asynchrone, pour analyser les fichiers de configuration comme resolv.conf etc.

## Synopsis de la classe

final class EventDnsBase {
/* Constantes */
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;
/* Méthodes */
public __construct( EventBase `$base` , int|bool `$initialize` )
public addNameserverIp( string `$ip` ): bool
public addSearch( string `$domain` ): void
public clearSearch(): void
public countNameservers(): int
public loadHosts( string `$hosts` ): bool
public parseResolvConf( int `$flags` , string `$filename` ): bool
public setOption( string `$option` , string `$value` ): bool
public setSearchNdots( int `$ndots` ): bool
}

## Constantes pré-définies

`EventDnsBase::OPTION_SEARCH`

  Demande à lire le domaine et recherche les champs depuis le fichier `resolv.conf` et l'option `ndots`, et les utilise pour décider quel domaine (s'il y en a) doit être utilisé pour chercher les noms d'hôtes qui ne sont pas totalement qualifiés.

`EventDnsBase::OPTION_NAMESERVERS`

  Demande à connaître les noms des serveurs depuis le fichier `resolv.conf`.

`EventDnsBase::OPTION_MISC`

`EventDnsBase::OPTION_HOSTSFILE`

  Demande à lire une liste d'hôtes depuis le fichier `/etc/hosts` comme partie du chargement du fichier `resolv.conf`.

`EventDnsBase::OPTIONS_ALL`

  Demande à connaître tout le contenu du fichier `resolv.conf`.

`EventDnsBase::DISABLE_WHEN_INACTIVE`

  Ne pas empêcher la boucle d'événements de libevent de se terminer lorsque nous n'avons pas de requêtes DNS actives.

`EventDnsBase::INITIALIZE_NAMESERVERS`

  Traiter le fichier `resolv.conf`.

`EventDnsBase::NAMESERVERS_NO_DEFAULT`

  Ne pas ajouter de serveur de noms par défaut s'il n'y a pas de serveurs de noms dans le fichier `resolv.conf`.

## Sommaire

- EventDnsBase::addNameserverIp — Ajoute un serveur de noms à la base DNS
- EventDnsBase::addSearch — Ajoute un domaine à la liste des domaines utilisés pour la recherche
- EventDnsBase::clearSearch — Supprime tous les suffixes courants de recherche
- EventDnsBase::__construct — Construit un objet EventDnsBase
- EventDnsBase::countNameservers — Récupère le nombre de serveurs de noms configurés
- EventDnsBase::loadHosts — Charge un fichier hosts (au même format que /etc/hosts)
- EventDnsBase::parseResolvConf — Analyse le fichier resolv.conf
- EventDnsBase::setOption — Définit la valeur d'une option de configuration
- EventDnsBase::setSearchNdots — Définit le paramètre 'ndots' pour les recherches