code: def renegotiate_keys(self):
          
          self.completion_event = threading.Event()
          self._send_kex_init()
          while True:
              self.completion_event.wait(0.1)
              if not self.active:
                  e = self.get_exception()
                  if e is not None:
                      raise e
                  raise SSHException('Negotiation failed.')
              if self.completion_event.isSet():
                  break
          return
docs: Force this session to switch to new keys.  Normally this is done
          automatically after the session hits a certain number of packets or
          bytes sent or received, but this method gives you the option of forcing
          new keys whenever you want.  Negotiating new keys causes a pause in
          traffic both ways as the two sides swap keys and do computations.  This
          method returns when the session has switched to new keys.
  
          @raise SSHException: if the key renegotiation failed (which causes the
              session to end)