def METHOD_NAME(self, ip):
    # type: (str) -> Tuple[str, Optional[str], str]
    self.s.send(("%s\n" % ip).encode("utf8"))
    x = b""
    while not (b"%" in x or b"source" in x):
        x += self.s.recv(8192)
    asn, desc = self._parse_whois(x)
    return ip, asn, desc