def METHOD_NAME(self, timeout):
    """
    Tests:
        >>> l = listen()
        >>> r = remote('localhost', l.lport)
        >>> r.can_recv_raw(timeout=0)
        False
        >>> l.send(b'a')
        >>> r.can_recv_raw(timeout=1)
        True
        >>> r.recv()
        b'a'
        >>> r.can_recv_raw(timeout=0)
        False
        >>> l.close()
        >>> r.can_recv_raw(timeout=1)
        False
        >>> r.closed['recv']
        True
    """
    if not self.sock or self.closed["recv"]:
        return False
    # select() will tell us data is available at EOF
    can_recv = select.select([self.sock], [], [], timeout) == ([self.sock], [], [])
    if not can_recv:
        return False
    # Ensure there's actually data, not just EOF
    try:
        self.recv_raw(1, socket.MSG_PEEK)
    except EOFError:
        return False
    return True