'Called when adding initial contact points and when the control
connection subsequently discovers a new node.
Returns a Host instance, and a flag indicating whether it was new in
the metadata.
Intended for internal use only.'

def add_host(self, address, datacenter=None, rack=None, signal=True, refresh_nodes=True):

    (host, new) = self.metadata.add_or_return_host(Host(address, self.conviction_policy_factory, datacenter, rack))
    if (new and signal):
        log.info('New    Cassandra    host    %r    discovered', host)
        self.on_add(host, refresh_nodes)
    return (host, new)
