diff options
| author | Vineet Naik <vineet@helpshift.com> | 2015-06-29 20:29:49 +0530 |
|---|---|---|
| committer | David Pursehouse <david.pursehouse@sonymobile.com> | 2015-06-30 09:21:25 +0900 |
| commit | f8f4df3621b650205870542b6114decb049e3477 (patch) | |
| tree | ab57ccee14532a97b77355e31bce57db409f59d0 /pygerrit/ssh.py | |
| parent | 964bed0993f1f01bd9eb5746ef26c089ad2a4369 (diff) | |
| download | pygerrit-f8f4df3621b650205870542b6114decb049e3477.tar.gz | |
Add keepalive support to GerritSSHClient
This will allow keeping the SSH sessions alive for a duration of time
longer than the timeout configured for the server.
Change-Id: I9d86c0fc304783fab944ebae7bd0da8f3b1edd6c
Diffstat (limited to 'pygerrit/ssh.py')
| -rw-r--r-- | pygerrit/ssh.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/pygerrit/ssh.py b/pygerrit/ssh.py index 350eb48..fbc5a29 100644 --- a/pygerrit/ssh.py +++ b/pygerrit/ssh.py @@ -65,7 +65,7 @@ class GerritSSHClient(SSHClient): """ Gerrit SSH Client, wrapping the paramiko SSH Client. """ - def __init__(self, hostname, username=None, port=None): + def __init__(self, hostname, username=None, port=None, keepalive=None): """ Initialise and connect to SSH. """ super(GerritSSHClient, self).__init__() self.remote_version = None @@ -76,6 +76,7 @@ class GerritSSHClient(SSHClient): self.connected = Event() self.lock = Lock() self.proxy = None + self.keepalive = keepalive def _configure(self): """ Configure the ssh parameters from the config file. """ @@ -136,6 +137,8 @@ class GerritSSHClient(SSHClient): # waiting to acquire the lock if not self.connected.is_set(): self._do_connect() + if self.keepalive: + self._transport.set_keepalive(self.keepalive) self.connected.set() except GerritError: raise |
