function Net_Socket::select in Flickr API 5
Runs the equivalent of the select() system call on the socket with a timeout specified by tv_sec and tv_usec.
@access public
Parameters
integer $state Which of read/write/error to check for.:
integer $tv_sec Number of seconds for timeout.:
integer $tv_usec Number of microseconds for timeout.:
Return value
False if select fails, integer describing which of read/write/error are ready, or PEAR_Error if not connected.
File
- phpFlickr/
PEAR/ Net/ Socket.php, line 492  
Class
- Net_Socket
 - Generalized Socket class.
 
Code
function select($state, $tv_sec, $tv_usec = 0) {
  if (!is_resource($this->fp)) {
    return $this
      ->raiseError('not connected');
  }
  $read = null;
  $write = null;
  $except = null;
  if ($state & NET_SOCKET_READ) {
    $read[] = $this->fp;
  }
  if ($state & NET_SOCKET_WRITE) {
    $write[] = $this->fp;
  }
  if ($state & NET_SOCKET_ERROR) {
    $except[] = $this->fp;
  }
  if (false === ($sr = stream_select($read, $write, $except, $tv_sec, $tv_usec))) {
    return false;
  }
  $result = 0;
  if (count($read)) {
    $result |= NET_SOCKET_READ;
  }
  if (count($write)) {
    $result |= NET_SOCKET_WRITE;
  }
  if (count($except)) {
    $result |= NET_SOCKET_ERROR;
  }
  return $result;
}