def _heartbeat(self):
        while True:
            gevent.sleep(self._heartbeat_freq)
            if self._remote_last_hb is None:
                self._remote_last_hb = time.time()
            if time.time() > self._remote_last_hb / self._heartbeat_freq * 2:
                self._lost_remote = True
                if not self._closed:
                    gevent.kill(self._parent_coroutine,
                            self._lost_remote_exception())
                break
            self._channel.emit('_zpc_hb', (0,))  # 0 -> compat with protocol v2
dataset/ETHPy150Open 0rpc/zerorpc-python/zerorpc/heartbeat.py/HeartBeatOnChannel._heartbeat/operator `+` -> `/`