@classmethod
    def _socket_read(cls, wait=False):
        """
        Read from socket. Does not fail on low timeout - only returns None.
        
        Args:
            wait: Bool. Blocking mode - wait until timeout.
        
        Returns:
            True, error_message: None
            None, error_message: 'No data'
            False, error_message: 'Socket error'
            
        """
        if wait:
                data = ""
                while len(data) == 0:
                    try:
                        data = cls._socket.recv(4096)
                    except socket.timeout:
                        pass
                    except OSError as err:
                        return False, 'Failure to read from socket: {}'.format(err)

                cls._parse_socket_data(data)
                return True, None

        try:
            data = cls._socket.recv(4096)
            cls._parse_socket_data(data)
            return True, None
        except socket.timeout:
            return None, 'No data'
        except __HOLE__ as err:
            return False, 'Failure to read from socket: {}'.format(err)
dataset/ETHPy150Open f4ble/pyarc/ark/steam/steam_socket_core.py/SteamSocketCore._socket_read