public void update(long procId) { Map.Entry<Long, BitSetNode> entry = map.floorEntry(procId); assert entry != null : "expected node to update procId=" + procId; BitSetNode node = entry.getValue(); assert node.contains(procId); node.update(procId); trackProcIds(procId); }
/** * @param active list of active proc ids. To mark them as non-deleted, since by default a proc * id is always marked deleted. */ BitSetNode buildBitSetNode(long[] active, long[] updated, long[] deleted) { BitSetNode bitSetNode = new BitSetNode(0L, false); for (long i : active) { bitSetNode.update(i); } bitSetNode.resetUpdates(); for (long i : updated) { bitSetNode.update(i); } for (long i : deleted) { bitSetNode.delete(i); } return bitSetNode; }
public void insert(long procId) { BitSetNode node = getOrCreateNode(procId); node.update(procId); trackProcIds(procId); }
private BitSetNode update(BitSetNode node, final long procId) { node = lookupClosestNode(node, procId); assert node != null : "expected node to update procId=" + procId; assert node.contains(procId) : "expected procId=" + procId + " in the node"; node.update(procId); trackProcIds(procId); return node; }
private BitSetNode insert(BitSetNode node, final long procId) { if (node == null || !node.contains(procId)) { node = getOrCreateNode(procId); } node.update(procId); trackProcIds(procId); return node; }