Adds the endpoint to the connection definition. When the
        connection is created by the send/receive thread, we do not
        yet have the endpoint of the remote node. That is not known
        until we process the incoming ConnectRequest.

        Args:
            connection_id (str): The identifier for the connection.
            endpoint (str): A zmq-style uri which identifies a publically
                reachable endpoint.

def update_connection_endpoint(self, connection_id, endpoint):
        """Adds the endpoint to the connection definition. When the
        connection is created by the send/receive thread, we do not
        yet have the endpoint of the remote node. That is not known
        until we process the incoming ConnectRequest.

        Args:
            connection_id (str): The identifier for the connection.
            endpoint (str): A zmq-style uri which identifies a publically
                reachable endpoint.
        """
        if connection_id in self._connections:
            connection_info = self._connections[connection_id]
            self._connections[connection_id] = \
                ConnectionInfo(connection_info.connection_type,
                               connection_info.connection,
                               endpoint,
                               connection_info.status,
                               connection_info.public_key)

        else:
            LOGGER.debug("Could not update the endpoint %s for "
                         "connection_id %s. The connection does not "
                         "exist.",
                         endpoint,
                         connection_id)