def push(self, timeout = -1):   
        current_timeout = self._timeout_time[-1]
        if timeout < 0 and current_timeout < 0:
            self._timeout_time.append(timeout)
        elif timeout < 0 and current_timeout >= 0:
            self._timeout_time.append(current_timeout)
        else:
            _timeout_time = time.time() + timeout    
            if current_timeout < 0:
                self._timeout_time.append(_timeout_time)
            else:
                self._timeout_time.append(min(_timeout_time, current_timeout))
dataset/ETHPy150Open concurrence/concurrence/lib/concurrence/timer.py/_Timeout.push/original