# The EventUtil class

(PECL event >= 1.5.0)

## Introduction

EventUtil is a singleton with supplimentary methods and constants.

## Class synopsis

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

## Predefined Constants

`EventUtil::AF_INET`

  IPv4 address family

`EventUtil::AF_INET6`

  IPv6 address family

`EventUtil::AF_UNSPEC`

  Unspecified IP address family

`EventUtil::SO_DEBUG`

  Socket option. Enable socket debugging. Only allowed for processes with the CAP_NET_ADMIN capability or an effective user ID of `0` . (Added in event-1.6.0.)

`EventUtil::SO_REUSEADDR`

  Socket option. Indicates that the rules used in validating addresses supplied in a bind(2) call should allow reuse of local addresses. See the socket(7) manual page. (Added in event-1.6.0.)

`EventUtil::SO_KEEPALIVE`

  Socket option. Enable sending of keep-alive messages on connection-oriented sockets. Expects an integer boolean flag. See the socket(7) manual page. (Added in event-1.6.0.)

`EventUtil::SO_DONTROUTE`

  Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

`EventUtil::SO_LINGER`

  Socket option. When enabled, a close(2) or shutdown(2) will not return until all queued messages for the socket have been successfully sent or the linger timeout has been reached. Otherwise, the call returns immediately and the closing is done in the background. See the socket(7) manual page. (Added in event-1.6.0.)

`EventUtil::SO_BROADCAST`

  Socket option. Reports whether transmission of broadcast messages is supported. See the socket(7) manual page. (Added in event-1.6.0.)

`EventUtil::SO_OOBINLINE`

  Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

`EventUtil::SO_SNDBUF`

  Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

`EventUtil::SO_RCVBUF`

  Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

`EventUtil::SO_SNDLOWAT`

  Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

`EventUtil::SO_RCVLOWAT`

  Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

`EventUtil::SO_SNDTIMEO`

  Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

`EventUtil::SO_RCVTIMEO`

  Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

`EventUtil::SO_TYPE`

  Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

`EventUtil::SO_ERROR`

  Socket option. See the socket(7) manual page. (Added in event-1.6.0.)

`EventUtil::SOL_SOCKET`

  Socket option level. See the socket(7) manual page. (Added in event-1.6.0.)

`EventUtil::SOL_TCP`

  Socket option level. See the socket(7) manual page. (Added in event-1.6.0.)

`EventUtil::SOL_UDP`

  Socket option level. See the socket(7) manual page. (Added in event-1.6.0.)

`EventUtil::IPPROTO_IP`

  See the socket(7) manual page. (Added in event-1.6.0.)

`EventUtil::IPPROTO_IPV6`

  See the socket(7) manual page. (Added in event-1.6.0.)

`EventUtil::LIBEVENT_VERSION_NUMBER`

  Libevent' version number at the time when Event extension had been compiled with the library.

## Table of Contents

- EventUtil::__construct — The abstract constructor
- EventUtil::getLastSocketErrno — Returns the most recent socket error number
- EventUtil::getLastSocketError — Returns the most recent socket error
- EventUtil::getSocketFd — Returns numeric file descriptor of a socket, or stream
- EventUtil::getSocketName — Retreives the current address to which the socket is bound
- EventUtil::setSocketOption — Sets socket options
- EventUtil::sslRandPoll — Generates entropy by means of OpenSSL's RAND_poll()