original_string: protected function refresh() : bool
      {
          // Without a resource to grab the metadata for, let invokers know there's no data
          // to work with presently.
          if (!$this->resource) {
              return false;
          }
  
          // Prepare the status mask if necessary. Might as well give it a value to begin with.
          if (!$this->status) {
              $this->status = new core\Mask(stream_is_local($this->resource) ? interfaces\Stream::LOCAL : 0);
          }
  
          // The call results of metadata() are cached so we can just use the class property.
          $this->getMetadata();
  
          if (isset(self::$rwh['read'][$this->metadata['mode']])) {
              $this->status->set(interfaces\Stream::READABLE);
          }
  
          if (isset(self::$rwh['write'][$this->metadata['mode']])) {
              $this->status->set(interfaces\Stream::WRITABLE);
          }
  
          // Those may change, so... besides - fancy syntax, eh chaps?
          $this->status->{((isset($this->metadata['seekable']) && $this->metadata['seekable']) ? 'set' : 'remove')}(interfaces\Stream::SEEKABLE);
          $this->status->{((isset($this->metadata['blocked'])  && $this->metadata['blocked'])  ? 'set' : 'remove')}(interfaces\Stream::BLOCKED);
  
          return true;
      }
code: protected function refresh() : bool
      {
          // Without a resource to grab the metadata for, let invokers know there's no data
          // to work with presently.
          if (!$this->resource) {
              return false;
          }
  
          // Prepare the status mask if necessary. Might as well give it a value to begin with.
          if (!$this->status) {
              $this->status = new core\Mask(stream_is_local($this->resource) ? interfaces\Stream::LOCAL : 0);
          }
  
          // The call results of metadata() are cached so we can just use the class property.
          $this->getMetadata();
  
          if (isset(self::$rwh['read'][$this->metadata['mode']])) {
              $this->status->set(interfaces\Stream::READABLE);
          }
  
          if (isset(self::$rwh['write'][$this->metadata['mode']])) {
              $this->status->set(interfaces\Stream::WRITABLE);
          }
  
          // Those may change, so... besides - fancy syntax, eh chaps?
          $this->status->{((isset($this->metadata['seekable']) && $this->metadata['seekable']) ? 'set' : 'remove')}(interfaces\Stream::SEEKABLE);
          $this->status->{((isset($this->metadata['blocked'])  && $this->metadata['blocked'])  ? 'set' : 'remove')}(interfaces\Stream::BLOCKED);
  
          return true;
      }
code_tokens: protected function refresh ( ) : bool { // Without a resource to grab the metadata for, let invokers know there's no data // to work with presently. if ( ! $ this -> resource ) { return false ; } // Prepare the status mask if necessary. Might as well give it a value to begin with. if ( ! $ this -> status ) { $ this -> status = new core \ Mask ( stream_is_local ( $ this -> resource ) ? interfaces \ Stream :: LOCAL : 0 ) ; } // The call results of metadata() are cached so we can just use the class property. $ this -> getMetadata ( ) ; if ( isset ( self :: $ rwh [ 'read' ] [ $ this -> metadata [ 'mode' ] ] ) ) { $ this -> status -> set ( interfaces \ Stream :: READABLE ) ; } if ( isset ( self :: $ rwh [ 'write' ] [ $ this -> metadata [ 'mode' ] ] ) ) { $ this -> status -> set ( interfaces \ Stream :: WRITABLE ) ; } // Those may change, so... besides - fancy syntax, eh chaps? $ this -> status -> { ( ( isset ( $ this -> metadata [ 'seekable' ] ) && $ this -> metadata [ 'seekable' ] ) ? 'set' : 'remove' ) } ( interfaces \ Stream :: SEEKABLE ) ; $ this -> status -> { ( ( isset ( $ this -> metadata [ 'blocked' ] ) && $ this -> metadata [ 'blocked' ] ) ? 'set' : 'remove' ) } ( interfaces \ Stream :: BLOCKED ) ; return true ; }
docstring: Refreshes the status mask based on the current metadata of the stream.
  
  @return  bool    True if we successfully refreshed all relevant data, false otherwise.
docstring_tokens: Refreshes the status mask based on the current metadata of the stream .