Пример #1
0
 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
Пример #2
0
    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)