public NorvosPreKeyStore() { lastResortKey = KeyHelper.generateLastResortPreKey(); oneTimePreKeys = new CircularBuffer<PreKeyRecord>(Medium.MAX_VALUE); Random r = new Random(); List<PreKeyRecord> list = KeyHelper.generatePreKeys(r.nextInt(Medium.MAX_VALUE), 100); for (PreKeyRecord key : list) { oneTimePreKeys.add(key.getId(), key); } }
public synchronized byte[] serialize() { Builder builder = PreKeyStoreStructure.newBuilder(); for (PreKeyRecord entry : oneTimePreKeys.getAll()) { PreKeyStructure struct = PreKeyStructure.newBuilder() .setKeyId(entry.getId()) .setPreKeyRecord(ByteString.copyFrom(entry.serialize())) .build(); builder.addOneTimePreKey(struct); } return builder.build().toByteArray(); }