def _save(self, now=None): """Implements 'save' method. For internal use. Must hold self._lock to invoke.""" log.debug("Syncing statistics to disk") if not now: now = time() tmpfile = self.filename + "_tmp" tryUnlink(tmpfile) self.accumulatedTime += int(now-self.lastSave) self.lastSave = now writePickled(self.filename, { 'count' : self.count, 'lastRotation' : self.lastRotation, 'accumulatedTime' : self.accumulatedTime, })
def _save(self, now=None): """Implements 'save' method. For internal use. Must hold self._lock to invoke.""" LOG.debug("Syncing statistics to disk") if not now: now = time() tmpfile = self.filename + "_tmp" tryUnlink(tmpfile) self.accumulatedTime += int(now - self.lastSave) self.lastSave = now writePickled( self.filename, { 'count': self.count, 'lastRotation': self.lastRotation, 'accumulatedTime': self.accumulatedTime, })
def learnServerID(self, server): """Mark the ID for a server descriptor as the canonical identity key associated with that server's nickname.""" try: self._lock() ident = server.getIdentity() nickname = server.getNickname() try: if self.idCache.containsServer(server): LOG.warn("Server %s already known", nickname) except mixminion.directory.MismatchedID: raise MixFatalError("Mismatched ID for server %s" % nickname) LOG.info("Learning identity for new server %s", nickname) self.idCache.insertServer(server) writePickled(os.path.join(self.serverIDDir, nickname+"-"+formatFnameTime()), ("V0", (nickname, pk_encode_public_key(ident)))) self.idCache.save() finally: self._unlock()
def learnServerID(self, server): """Mark the ID for a server descriptor as the canonical identity key associated with that server's nickname.""" try: self._lock() ident = server.getIdentity() nickname = server.getNickname() try: if self.idCache.containsServer(server): LOG.warn("Server %s already known", nickname) except mixminion.directory.MismatchedID: raise MixFatalError("Mismatched ID for server %s" % nickname) LOG.info("Learning identity for new server %s", nickname) self.idCache.insertServer(server) writePickled( os.path.join(self.serverIDDir, nickname + "-" + formatFnameTime()), ("V0", (nickname, pk_encode_public_key(ident)))) self.idCache.save() finally: self._unlock()
def save(self, mode): writePickled(self._fname_cache, self._getForPickle(), mode=mode) self._dirty = 0