docs: def resendLast(self):
          "Resend the last sent packet due to a timeout."
          log.warning("Resending packet %s on sessions %s"
              % (self.context.last_pkt, self))
          self.context.metrics.resent_bytes += len(self.context.last_pkt.buffer)
          self.context.metrics.add_dup(self.context.last_pkt)
          sendto_port = self.context.tidport
          if not sendto_port:
              # If the tidport wasn't set, then the remote end hasn't even
              # started talking to us yet. That's not good. Maybe it's not
              # there.
              sendto_port = self.context.port
          self.context.sock.sendto(self.context.last_pkt.encode().buffer,
                                   (self.context.host, sendto_port))
          if self.context.packethook:
              self.context.packethook(self.context.last_pkt)