| 169 | class DnsProxy(Handler): |
| 170 | |
| 171 | def __init__(self, mux, chan, request, to_nameserver): |
| 172 | Handler.__init__(self, []) |
| 173 | self.timeout = time.time() + 30 |
| 174 | self.mux = mux |
| 175 | self.chan = chan |
| 176 | self.tries = 0 |
| 177 | self.request = request |
| 178 | self.peers = {} |
| 179 | self.to_ns_peer = None |
| 180 | self.to_ns_port = None |
| 181 | if to_nameserver is None: |
| 182 | self.to_nameserver = None |
| 183 | else: |
| 184 | self.to_ns_peer, self.to_ns_port = to_nameserver.split("@") |
| 185 | self.to_nameserver = self._addrinfo(self.to_ns_peer, |
| 186 | self.to_ns_port) |
| 187 | self.try_send() |
| 188 | |
| 189 | @staticmethod |
| 190 | def _addrinfo(peer, port): |