@Override public Vector256 fromJSONArray(JSONArray jsonArray) { Vector256 vector = new Vector256(); for (int i = 0; i < jsonArray.length(); i++) { String hex = jsonArray.getString(i); vector.add(new Hash256(B16.decode(hex))); } return vector; } }
private void addToDirectoryNode(DirectoryNode dn, Hash256 index) { onDirectoryModified(dn); dn.indexes().add(index); } private DirectoryNode getDirectoryForUpdating(Hash256 directoryIndex) {
@Override public Vector256 fromParser(BinaryParser parser, Integer hint) { Vector256 vector256 = new Vector256(); if (hint == null) { hint = parser.size() - parser.pos(); } for (int i = 0; i < hint / 32; i++) { vector256.add(Hash256.translate.fromParser(parser)); } return vector256; }
public Vector256 lineIndexes() { Vector256 ret = new Vector256(); Amount takerGets = takerGets(); for (Amount amt : new Amount[]{takerGets, takerPays()}) { // Actually want to compare by reference here :) if (amt == takerGets()) { // selling own funds continue; } if (!amt.isNative()) { ret.add(lineIndex(amt)); } } return ret; }
public void updateSkipLists(long currentIndex, Hash256 parentHash) { long prev = currentIndex - 1; if ((prev & 0xFF) == 0) { Hash256 skipIndex = Index.ledgerHashes(prev); LedgerHashes skip = createOrUpdateSkipList(skipIndex); Vector256 hashes = skip.hashes(); assert hashes.size() <= 256; hashes.add(parentHash); skip.put(UInt32.LastLedgerSequence, new UInt32(prev)); } Hash256 skipIndex = Index.ledgerHashes(); LedgerHashes skip = createOrUpdateSkipList(skipIndex); Vector256 hashes = skip.hashes(); if (hashes.size() > 256) throw new AssertionError(); if (hashes.size() == 256) { hashes.remove(0); } hashes.add(parentHash); skip.put(UInt32.LastLedgerSequence, new UInt32(prev)); }