diff options
author | Karel Kočí <cynerd@email.cz> | 2016-06-30 16:03:25 +0200 |
---|---|---|
committer | Karel Kočí <cynerd@email.cz> | 2016-06-30 16:03:25 +0200 |
commit | e573b3020c032400eed60b649a2cbf55266e6bb0 (patch) | |
tree | 8f572394ac8433529c7a8e70d160a2fbe8268b4e /vim/bundle/YouCompleteMe/python/ycm/client/ycmd_keepalive.py | |
parent | b8c667bd64b3edd38d56c63c5bd1db53a23b4499 (diff) | |
download | myconfigs-e573b3020c032400eed60b649a2cbf55266e6bb0.tar.gz myconfigs-e573b3020c032400eed60b649a2cbf55266e6bb0.tar.bz2 myconfigs-e573b3020c032400eed60b649a2cbf55266e6bb0.zip |
Add current configurations from old repository
Diffstat (limited to 'vim/bundle/YouCompleteMe/python/ycm/client/ycmd_keepalive.py')
-rw-r--r-- | vim/bundle/YouCompleteMe/python/ycm/client/ycmd_keepalive.py | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/vim/bundle/YouCompleteMe/python/ycm/client/ycmd_keepalive.py b/vim/bundle/YouCompleteMe/python/ycm/client/ycmd_keepalive.py new file mode 100644 index 0000000..fca59f4 --- /dev/null +++ b/vim/bundle/YouCompleteMe/python/ycm/client/ycmd_keepalive.py @@ -0,0 +1,54 @@ +# Copyright (C) 2013 Google Inc. +# +# This file is part of YouCompleteMe. +# +# YouCompleteMe is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# YouCompleteMe is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with YouCompleteMe. If not, see <http://www.gnu.org/licenses/>. + +from __future__ import unicode_literals +from __future__ import print_function +from __future__ import division +from __future__ import absolute_import +from future import standard_library +standard_library.install_aliases() +from builtins import * # noqa + +import time +from threading import Thread +from ycm.client.base_request import BaseRequest + + +# This class can be used to keep the ycmd server alive for the duration of the +# life of the client. By default, ycmd shuts down if it doesn't see a request in +# a while. +class YcmdKeepalive( object ): + def __init__( self, ping_interval_seconds = 60 * 10 ): + self._keepalive_thread = Thread( target = self._ThreadMain ) + self._keepalive_thread.daemon = True + self._ping_interval_seconds = ping_interval_seconds + + + def Start( self ): + self._keepalive_thread.start() + + + def _ThreadMain( self ): + while True: + time.sleep( self._ping_interval_seconds ) + + # We don't care if there's an intermittent problem in contacting the + # server; it's fine to just skip this ping. + try: + BaseRequest.GetDataFromHandler( 'healthy' ) + except: + pass |