original_string: private function receive()
      {
          $timer = microtime(true);
  
          $str = fgets($this->socket);
  
          if ($str === false) {
              $this->close();
              throw new HSException('Cannot read from socket');
          }
  
  
          $this->logs[] = [
              'type' => 'receive',
              'time' => microtime(true) - $timer,
              'command' => $str
          ];
  
          return substr($str, 0, -1);
      }
code: private function receive()
      {
          $timer = microtime(true);
  
          $str = fgets($this->socket);
  
          if ($str === false) {
              $this->close();
              throw new HSException('Cannot read from socket');
          }
  
  
          $this->logs[] = [
              'type' => 'receive',
              'time' => microtime(true) - $timer,
              'command' => $str
          ];
  
          return substr($str, 0, -1);
      }
code_tokens: private function receive ( ) { $ timer = microtime ( true ) ; $ str = fgets ( $ this -> socket ) ; if ( $ str === false ) { $ this -> close ( ) ; throw new HSException ( 'Cannot read from socket' ) ; } $ this -> logs [ ] = [ 'type' => 'receive' , 'time' => microtime ( true ) - $ timer , 'command' => $ str ] ; return substr ( $ str , 0 , - 1 ) ; }
docstring: Receive one string from server.
  String haven't trailing \n
  
  @return string
  @throws HSException
docstring_tokens: Receive one string from server . String haven t trailing \ n