Esempio n. 1
0
 def askObjectHistory(self, conn, oid, first, last):
     if first >= last:
         raise ProtocolError('invalid offsets')
     app = self.app
     if app.tm.loadLocked(oid):
         raise DelayEvent
     history_list = app.dm.getObjectHistory(oid, first, last - first)
     if history_list is None:
         p = Errors.OidNotFound(dump(oid))
     else:
         p = Packets.AnswerObjectHistory(oid, history_list)
     conn.answer(p)
Esempio n. 2
0
 def askObjectUndoSerial(self, conn, ttid, ltid, undone_tid, oid_list):
     app = self.app
     findUndoTID = app.dm.findUndoTID
     getObjectFromTransaction = app.tm.getObjectFromTransaction
     object_tid_dict = {}
     for oid in oid_list:
         current_serial, undo_serial, is_current = findUndoTID(oid, ttid,
             ltid, undone_tid, getObjectFromTransaction(ttid, oid))
         if current_serial is None:
             p = Errors.OidNotFound(dump(oid))
             break
         object_tid_dict[oid] = (current_serial, undo_serial, is_current)
     else:
         p = Packets.AnswerObjectUndoSerial(object_tid_dict)
     conn.answer(p)
Esempio n. 3
0
 def askObjectUndoSerial(self, conn, ttid, ltid, undone_tid, oid_list):
     app = self.app
     findUndoTID = app.dm.findUndoTID
     getObjectFromTransaction = app.tm.getObjectFromTransaction
     object_tid_dict = {}
     for oid in oid_list:
         r = findUndoTID(oid, ttid, ltid, undone_tid,
                         getObjectFromTransaction(ttid, oid))
         if r:
             if not r[0]:
                 p = Errors.OidNotFound(dump(oid))
                 break
             object_tid_dict[oid] = r
     else:
         p = Packets.AnswerObjectUndoSerial(object_tid_dict)
     conn.answer(p)