def assign_storage_idx(self): storage_idxs = self.get_storage_idxs() if storage_idxs == []: storage_idx = 0 else: storage_idx = max(storage_idxs) + 1 idxs_str = IE.binary_encode_int_varlen_list(storage_idxs + [storage_idx]) self.config_db[self._key("storage_idxs")] = idxs_str return storage_idx
def register_sequence(self, storage_idx, sequence_id): # Generate new index for this sequence logger_sm.debug( "new sequence detected in storage %d: %s" % (storage_idx, base64.urlsafe_b64encode(sequence_id)) ) sequence_idx = self.next_seq_idx self.next_seq_idx += 1 self.config_db[self._key("next_seq")] = str(self.next_seq_idx) self.config_db[self._key("SEQ." + sequence_id)] = IE.binary_encode_int_varlen_list([storage_idx, sequence_idx]) self.seq_to_index[sequence_id] = (storage_idx, sequence_idx) self.index_to_seq[sequence_idx] = (storage_idx, sequence_id)