def open(self): if self._active: nowTime = TimeUtils.getNowSeconds() if nowTime - self._activatedTime > NimbleEnvironment.CONNECTION_LIFETIME: self.close() else: return False self._activatedTime = TimeUtils.getNowSeconds() try: target = (NimbleEnvironment.getConnectionHost(), NimbleEnvironment.getConnectionPort()) self._socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # Sets socket option to prevent connection being refused by TCP reconnecting # to the same socket after a recent closure. self._socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) self._socket.setblocking(1) self._socket.connect(target) except Exception as err: NimbleEnvironment.logError( '[ERROR | NIMBLE COMMUNICATION] Failed to open Nimble connection', err) return False if self not in NimbleConnection._CONNECTION_POOL: NimbleConnection._CONNECTION_POOL.append(self) self._active = True return True
def open(self): if self._active: nowTime = TimeUtils.getNowSeconds() if nowTime - self._activatedTime > NimbleEnvironment.CONNECTION_LIFETIME: self.close() else: return False self._activatedTime = TimeUtils.getNowSeconds() try: target = ( NimbleEnvironment.getConnectionHost(), NimbleEnvironment.getConnectionPort() ) self._socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # Sets socket option to prevent connection being refused by TCP reconnecting # to the same socket after a recent closure. self._socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) self._socket.setblocking(1) self._socket.connect(target) except Exception as err: NimbleEnvironment.logError( '[ERROR | NIMBLE COMMUNICATION] Failed to open Nimble connection', err) return False if self not in NimbleConnection._CONNECTION_POOL: NimbleConnection._CONNECTION_POOL.append(self) self._active = True return True
def __init__(self, sock): asynchat.async_chat.__init__(self, sock=sock) self._createTime = TimeUtils.getNowSeconds() self._data = None self._message = None self.handling = False self._requestFlags = 0 self._responseFlags = 0 self._chunk = ByteChunk(endianess=ByteChunk.BIG_ENDIAN) self._resetRouterState()
def keepAlive(self): return self._requestFlags & ConnectionFlags.KEEP_ALIVE \ and (TimeUtils.getNowSeconds() - self._createTime < NimbleEnvironment.CONNECTION_LIFETIME)
def getPrefix(self): return Base64.to64(TimeUtils.getNowSeconds() - self._zeroTime)
def generateExpiresUrl(self, key, expiresAtDateTime): delta = TimeUtils.datetimeToSeconds(expiresAtDateTime) - TimeUtils.getNowSeconds() return self._bucket.get_key(key_name=key).generate_url(expires_in=delta, force_http=True)
def generateExpiresUrl(self, key, expiresAtDateTime, secure=True): delta = TimeUtils.datetimeToSeconds( expiresAtDateTime) - TimeUtils.getNowSeconds() return self._bucket.get_key(key_name=key).generate_url( expires_in=delta, force_http=not secure)