def register(self, address, retry=True):
logger.debug("<STR_LIT>" % (str(self.cuuid),<EOL>str(address)))<EOL>if not self.listener.listening:<EOL><INDENT>logger.warning("<STR_LIT>")<EOL><DEDENT>message = {"<STR_LIT>": "<STR_LIT>", "<STR_LIT>": str(self.cuuid)}<EOL>if self.encryption:<EOL><INDENT>message["<STR_LIT>"] = [self.encryption.n, self.encryption.e]<EOL><DEDENT>self.listener.send_datagram(<EOL>serialize_data(message, self.compression,<EOL>encryption=False), address)<EOL>if retry:<EOL><INDENT>self.register_retries = <NUM_LIT:0><EOL><DEDENT>self.listener.call_later(<EOL>self.timeout, self.retransmit, {"<STR_LIT>": "<STR_LIT>",<EOL>"<STR_LIT:address>": address})<EOL>
This function will send a register packet to the discovered Neteria
        server.

        Args:
          address (tuple): A tuple of the (address, port) to send the register
            request to.
          retry (boolean): Whether or not we want to reset the current number
            of registration retries to 0.

        Returns:
          None

        Examples:
          >>> address
          ('192.168.0.20', 40080)