private function addInterface(array $interface)
{
list($address, $port) = $interface;
if ($port < 1 || $port > 65535) {
throw new \InvalidArgumentException("Invalid host port: {$port}; integer in the range [1-65535] required");
}
if (!($packedAddress = @inet_pton($address))) {
throw new \InvalidArgumentException("IPv4 or IPv6 address required: {$address}");
}
$this->interfaces[] = [$address, $port];
$this->addressMap[$packedAddress][] = $port;
}