Class HashMapDb
java.lang.Object
org.opendaylight.lispflowmapping.inmemorydb.HashMapDb
- All Implemented Interfaces:
AutoCloseable,ILispDAO
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Get the entries from the DAO.voidgetAll(IRowVisitor visitor) Enumerate all the entries from the DAO.Get value for longest prefix match from the DAO.getBestPair(Object key) Get longest prefix match and value from the DAO.Look up the covering prefix for the argument, but exclude the argument itself, so the result is always less specific than the lookup key.getParentPrefix(Eid key) Get parent prefix.getSiblingPrefix(Eid key) Get sibling prefix.getSpecific(Object key, String valueKey) Get a specific value from the DAO.getSubtree(Eid key) Get the subtree of the given prefix.Get virtual parent sibling prefix.Get widest negative prefix.booleanisEmpty()Check if the DAO is empty.voidput(Object key, MappingEntry<?>... values) Put a entry into the DAO.putNestedTable(Object key, String valueKey) Inserts a new, nested table for given key and subkey.Insert a new table for given key.voidRemove an entry from the DAO.voidClear the DAO and remove all of the entries.voidremoveSpecific(Object key, String valueKey) Remove an entry from the DAO.voidtryAddToIpTrie(Object key)
-
Field Details
-
LOG
protected static final org.slf4j.Logger LOG
-
-
Constructor Details
-
HashMapDb
@Inject public HashMapDb()
-
-
Method Details
-
close
@PreDestroy public void close()- Specified by:
closein interfaceAutoCloseable
-
tryAddToIpTrie
-
put
Description copied from interface:ILispDAOPut a entry into the DAO. -
getSpecific
Description copied from interface:ILispDAOGet a specific value from the DAO.- Specified by:
getSpecificin interfaceILispDAO- Parameters:
key- The key of the value to fetchvalueKey- The value to fetch- Returns:
- The value from the DAO.
-
get
Description copied from interface:ILispDAOGet the entries from the DAO. -
getBest
Description copied from interface:ILispDAOGet value for longest prefix match from the DAO. -
getBestPair
Description copied from interface:ILispDAOGet longest prefix match and value from the DAO.- Specified by:
getBestPairin interfaceILispDAO- Parameters:
key- The eid prefix, IPv4 or IPv6, to be looked up. Key must be normalized- Returns:
- The best match and value pair from the DAO.
-
getAll
Description copied from interface:ILispDAOEnumerate all the entries from the DAO. -
getCoveringLessSpecific
Description copied from interface:ILispDAOLook up the covering prefix for the argument, but exclude the argument itself, so the result is always less specific than the lookup key.- Specified by:
getCoveringLessSpecificin interfaceILispDAO- Parameters:
key- The eid prefix, IPv4 or IPv6, to be looked up. Key must be normalized.- Returns:
- The covering prefix.
-
getParentPrefix
Description copied from interface:ILispDAOGet parent prefix.- Specified by:
getParentPrefixin interfaceILispDAO- Parameters:
key- The eid prefix, IPv4 or IPv6, to be looked up. Key must be normalized.- Returns:
- The parent prefix of the longest prefix match for the key.
-
getSiblingPrefix
Description copied from interface:ILispDAOGet sibling prefix.- Specified by:
getSiblingPrefixin interfaceILispDAO- Parameters:
key- The eid prefix, IPv4 or IPv6, to be looked up. Key must be normalized.- Returns:
- The sibling prefix of the longest prefix match for the key.
-
getVirtualParentSiblingPrefix
Description copied from interface:ILispDAOGet virtual parent sibling prefix.- Specified by:
getVirtualParentSiblingPrefixin interfaceILispDAO- Parameters:
key- The eid prefix, IPv4 or IPv6, to be looked up. Key must be normalized.- Returns:
- The longest prefix match node's virtual parent's sibling or null if nothing is found.
-
getWidestNegativePrefix
Description copied from interface:ILispDAOGet widest negative prefix.- Specified by:
getWidestNegativePrefixin interfaceILispDAO- Parameters:
key- The eid prefix, IPv4 or IPv6, to be looked up. Key must be normalized.- Returns:
- The widest negative prefix found.
-
getSubtree
Description copied from interface:ILispDAOGet the subtree of the given prefix.- Specified by:
getSubtreein interfaceILispDAO- Parameters:
key- The eid prefix, IPv4 or IPv6, to be looked up. Key must be normalized.- Returns:
- The set of EIDs that part of the subtree of the given EID.
-
remove
Description copied from interface:ILispDAORemove an entry from the DAO. -
removeSpecific
Description copied from interface:ILispDAORemove an entry from the DAO.- Specified by:
removeSpecificin interfaceILispDAO- Parameters:
key- The key of the entryvalueKey- The value to delete
-
removeAll
public void removeAll()Description copied from interface:ILispDAOClear the DAO and remove all of the entries. -
putNestedTable
Description copied from interface:ILispDAOInserts a new, nested table for given key and subkey. Also acts as factory method.- Specified by:
putNestedTablein interfaceILispDAO- Parameters:
key- The key for which a new table is linked invalueKey- The subkey under which to insert the new table- Returns:
- The inserted table
-
putTable
Description copied from interface:ILispDAOInsert a new table for given key. -
isEmpty
public boolean isEmpty()Description copied from interface:ILispDAOCheck if the DAO is empty.
-