EventDnsBase::__construct

Constructs EventDnsBase object

&reftitle.description; public `EventDnsBase::__construct` `EventBase` `base` ``int``bool`` `initialize`

Constructs EventDnsBase object.

&reftitle.parameters;

`base`

- Event base.

`initialize`

- If `initialize` is &true;, it attempts to use the underlying operating system defaults to configure the DNS base senibly. If it is &false;, the DNS base is left unconfigured, with no nameservers or options set. In the latter case the DNS base should be configured manually, e.g. with `EventDnsBase::parseResolvConf`.

  If `initialize` is an integer, it must be one of the following flags:

  Flag | &Description;
  `EventDnsBase::DISABLE_WHEN_INACTIVE` | Do not prevent the libevent event loop from exiting when we have no active DNS requests.
  `EventDnsBase::INITIALIZE_NAMESERVERS` | Process the `resolv.conf`.
  `EventDnsBase::NAMESERVERS_NO_DEFAULT` | Do not add default nameserver if there are no nameservers in the `resolv.conf`.

&reftitle.errors;

If `initialize` has a type other than ``int``bool``, a TypeError is thrown.

If the value of `initialize` is invalid, a EventException is thrown.

&reftitle.changelog;

&Version; | &Description;
PECL event 3.1.3 | If `initialize` has a type other than ``int``bool``, a TypeError is thrown.
PECL event 3.1.0RC1 | The type of the `initialize` parameter has been changed from `bool` to `mixed`. The value can be either `bool` (preserving the previous meaning) or one of the following constants: `EventDnsBase::DISABLE_WHEN_INACTIVE`, `EventDnsBase::INITIALIZE_NAMESERVERS`, or `EventDnsBase::NAMESERVERS_NO_DEFAULT`.