Internal function used to process each packet.
(self, r)
| 311 | self.sniffer.stop() |
| 312 | |
| 313 | def _process_packet(self, r): |
| 314 | # type: (Packet) -> None |
| 315 | """Internal function used to process each packet.""" |
| 316 | if r is None: |
| 317 | return |
| 318 | ok = False |
| 319 | h = r.hashret() |
| 320 | if h in self.hsent: |
| 321 | hlst = self.hsent[h] |
| 322 | for i, sentpkt in enumerate(hlst): |
| 323 | if r.answers(sentpkt): |
| 324 | self.ans.append(QueryAnswer(sentpkt, r)) |
| 325 | if self.verbose > 1: |
| 326 | os.write(1, b"*") |
| 327 | ok = True |
| 328 | if not self.multi: |
| 329 | del hlst[i] |
| 330 | self.noans += 1 |
| 331 | else: |
| 332 | if not hasattr(sentpkt, '_answered'): |
| 333 | self.noans += 1 |
| 334 | sentpkt._answered = 1 |
| 335 | break |
| 336 | self._stop_sniffer_if_done() |
| 337 | if not ok: |
| 338 | if self.verbose > 1: |
| 339 | os.write(1, b".") |
| 340 | self.nbrecv += 1 |
| 341 | if conf.debug_match: |
| 342 | debug.recv.append(r) |
| 343 | |
| 344 | def _sndrcv_rcv(self, callback): |
| 345 | # type: (Callable[[], None]) -> None |
nothing calls this directly
no test coverage detected