/**
  * Advisory file locking.
  *
  * This method is called in response to flock(), when file_put_contents()
  * (when flags contains LOCK_EX), stream_set_blocking() and when closing the
  * stream (LOCK_UN).
  *
  * $operation is one of the following:
  *  LOCK_SH to acquire a shared lock (reader).
  *  LOCK_EX to acquire an exclusive lock (writer).
  *  LOCK_UN to release a lock (shared or exclusive).
  *  LOCK_NB if you don't want flock() to block while locking.
  *
  * @param integer $operation One of the LOCK_* constants
  * @return boolean TRUE on success or FALSE on failure.
  */
 public function stream_lock($operation)
 {
     if ($operation === LOCK_UN) {
         return $this->streamWrapper->unlock();
     } else {
         return $this->streamWrapper->lock($operation);
     }
 }