public void addPrefix(Prefix prefix, long bits, int prefixLength, int depth) { if (prefixLength == depth) { _prefix = prefix; return; } else { boolean currentBit = Ip.getBitAtPosition(bits, depth); if (currentBit) { if (_right == null) { _right = new ByteTrieNode(); } _right.addPrefix(prefix, bits, prefixLength, depth + 1); } else { if (_left == null) { _left = new ByteTrieNode(); } _left.addPrefix(prefix, bits, prefixLength, depth + 1); } } }
public void addPrefix(Prefix prefix) { int prefixLength = prefix.getPrefixLength(); long bits = prefix.getStartIp().asLong(); _root.addPrefix(prefix, bits, prefixLength, 0); }