def connectionMade(self):
        self.producingTransports = {}
        self.connections = {}
        self.listeningClient = []
        self.connectionObservers = []
        if self.service.publicIP is None:
            log.msg("Service has no public IP: determining")
            self.service.publicIP = self.transport.getHost().host
            self.service._publicIPIsReallyPrivate = True
            def rememberPublicIP(pubip):
                ip = pubip['ip']
                log.msg('remembering public ip as %r' % ip)
                self.publicIP = ip
                self.service.publicIP = ip
                self.service._publicIPIsReallyPrivate = False
            self.callRemote(SourceIP).addCallback(rememberPublicIP)
        else:
            log.msg("Using existing public IP: %r" % (self.service.publicIP,))
dataset/ETHPy150Open twisted/vertex/vertex/q2q.py/Q2Q.connectionMade/original