def connect(self, *args, auto_reconnect=False, **kwargs):
connection_info = {<EOL>'<STR_LIT>': auto_reconnect,<EOL>'<STR_LIT:args>': args,<EOL>'<STR_LIT>': kwargs,<EOL>}<EOL>self.connect_info['<STR_LIT>'] = connection_info<EOL>if '<STR_LIT:user>' not in self.connect_info:<EOL><INDENT>raise Exception('<STR_LIT>')<EOL><DEDENT>connection = loop.create_connection(lambda: self,<EOL>*args, **kwargs)<EOL>asyncio.Task(connection)<EOL>
Connects to the given server.

        Args:
            auto_reconnect (bool): Automatically reconnect on disconnection.

        Other arguments to this function are as usually supplied to
        :meth:`asyncio.BaseEventLoop.create_connection`.