@Override public void saveNode(NodeId nodeId, Node node) { nodes.put(nodeId, DAGNode.of(node)); }
@Override public void saveNode(NodeId nodeId, Node node) { nodes.put(nodeId, DAGNode.of(node)); }
@Override public void saveNode(NodeId nodeId, Node node) { nodeStore.put(nodeId, DAGNode.of(node)); }
@Override public void saveNode(NodeId nodeId, Node node) { nodeStore.put(nodeId, DAGNode.of(node)); }
public static DAGNode decode(DataInput in) throws IOException { final byte magic = in.readByte(); switch (magic) { case MAGIC_DIRECT: { Node node = FormatCommonV2_2.INSTANCE.readNode(in); return DAGNode.of(node); } case MAGIC_LAZY_TREE: { int treeCacheId = Varint.readUnsignedVarInt(in); int nodeIndex = Varint.readUnsignedVarInt(in); DAGNode node = DAGNode.treeNode(treeCacheId, nodeIndex); return node; } case MAGIC_LAZY_FEATURE: { int treeCacheId = Varint.readUnsignedVarInt(in); int nodeIndex = Varint.readUnsignedVarInt(in); DAGNode node = DAGNode.featureNode(treeCacheId, nodeIndex); return node; } } throw new IllegalArgumentException("Invalid magic number, expected 7 or 9, got " + magic); }
public static DAGNode decode(DataInput in) throws IOException { final byte magic = in.readByte(); switch (magic) { case MAGIC_DIRECT: { Node node = FormatCommonV2_2.INSTANCE.readNode(in); return DAGNode.of(node); } case MAGIC_LAZY_TREE: { int treeCacheId = Varint.readUnsignedVarInt(in); int nodeIndex = Varint.readUnsignedVarInt(in); DAGNode node = DAGNode.treeNode(treeCacheId, nodeIndex); return node; } case MAGIC_LAZY_FEATURE: { int treeCacheId = Varint.readUnsignedVarInt(in); int nodeIndex = Varint.readUnsignedVarInt(in); DAGNode node = DAGNode.featureNode(treeCacheId, nodeIndex); return node; } } throw new IllegalArgumentException("Invalid magic number, expected 7 or 9, got " + magic); }
private void clone(QuadTreeClusteringStrategy source, QuadTreeClusteringStrategy target, DAG dag) { DAG clone = dag.clone(); target.dagCache.add(clone); Set<NodeId> children = new HashSet<>(dag.childrenList()); Map<NodeId, Node> nodes = source.storageProvider.getNodes(children); Map<NodeId, DAGNode> dagnodes = Maps.transformValues(nodes, (n) -> DAGNode.of(n)); target.storageProvider.saveNodes(dagnodes); Set<TreeId> buckets = new HashSet<>(dag.bucketList()); List<DAG> dagTrees = source.getDagTrees(buckets); for (DAG d : dagTrees) { clone(source, target, d); } }
private void clone(QuadTreeClusteringStrategy source, QuadTreeClusteringStrategy target, DAG dag) { DAG clone = dag.clone(); target.dagCache.add(clone); Set<NodeId> children = new HashSet<>(dag.childrenList()); Map<NodeId, Node> nodes = source.storageProvider.getNodes(children); Map<NodeId, DAGNode> dagnodes = Maps.transformValues(nodes, (n) -> DAGNode.of(n)); target.storageProvider.saveNodes(dagnodes); Set<TreeId> buckets = new HashSet<>(dag.bucketList()); List<DAG> dagTrees = source.getDagTrees(buckets); for (DAG d : dagTrees) { clone(source, target, d); } }