def recvall(self, timeout=<NUM_LIT:0.5>):
response = '<STR_LIT>'<EOL>self.socket.setblocking(False)<EOL>start = time.time()<EOL>while True:<EOL><INDENT>if response and time.time() - start > timeout:<EOL><INDENT>break<EOL><DEDENT>elif time.time() - start > timeout * <NUM_LIT:2>:<EOL><INDENT>break<EOL><DEDENT>try:<EOL><INDENT>data = self.socket.recv(<NUM_LIT>)<EOL>if data:<EOL><INDENT>response += data.replace(self._rconreplystring, '<STR_LIT>')<EOL>start = time.time()<EOL><DEDENT>else:<EOL><INDENT>time.sleep(<NUM_LIT:0.1>)<EOL><DEDENT><DEDENT>except socket.error:<EOL><INDENT>pass<EOL><DEDENT><DEDENT>return response.strip()<EOL>
Receive the RCON command response
:param timeout: The timeout between consequent data receive
:return str: The RCON command response with header stripped out