Interface IMappingSystem
-
- All Known Implementing Classes:
MappingSystem
public interface IMappingSystemMapping System interface.- Author:
- Florin Coras
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaddAuthenticationKey(Eid key, MappingAuthkey authKey)Add authentication key.voidaddData(MappingOrigin origin, Eid key, java.lang.String subKey, java.lang.Object data)Add data for key.voidaddMapping(MappingOrigin origin, Eid key, MappingData mapping)Add mapping.MappingDataaddNegativeMapping(Eid key)Generate and add a negative mapping entry originated from the southbound, and return the generated mapping.MappingAuthkeygetAuthenticationKey(Eid key)Retrieve authentication key.java.lang.ObjectgetData(MappingOrigin origin, Eid key, java.lang.String subKey)Generic retrieval of data.MappingDatagetMapping(Eid dst)Retrieves mapping for the provided dst key.MappingDatagetMapping(Eid src, Eid dst)Retrieves mapping for the provided src and dst key.MappingDatagetMapping(Eid src, Eid dst, XtrId xtrId)Retrieves mapping for the provided dst key for a particular xtr id.MappingDatagetMapping(MappingOrigin origin, Eid key)Retrieves mapping from table for provided key.EidgetParentPrefix(Eid key)Returns the parent prefix for given key.java.util.Set<Subscriber>getSubscribers(Eid eid)Retrieves the subscribers for an EID.java.util.Set<Eid>getSubtree(MappingOrigin origin, Eid key)Retrieves the subtree of a maskable prefix from the given map-cache.EidgetWidestNegativePrefix(Eid key)Retrieves widest negative prefix from table for provided key.booleanisMaster()Get cluster master status.java.lang.StringprettyPrintKeys()Print keys in cache in a human friendly format.java.lang.StringprettyPrintMappings()Print mappings in cache in a human friendly format.java.lang.StringprintKeys()Print all authentication keys.java.lang.StringprintMappings()Print all mappings.voidrefreshMappingRegistration(Eid key, XtrId xtrId, java.lang.Long timestamp)Refresh southbound mapping registration timestamp.voidremoveAuthenticationKey(Eid key)Remove authentication key.voidremoveData(MappingOrigin origin, Eid key, java.lang.String subKey)Generic removal of data.voidremoveMapping(MappingOrigin origin, Eid key)Remove mapping.voidsetIsMaster(boolean isMaster)Set cluster master status.voidsetIterateMask(boolean iterate)Sets iterateMask.voidsetMappingMerge(boolean mappingMerge)Configure merge policy.voidsubscribe(Subscriber subscriber, Eid subscribedEid)Subscribe a Subscriber to receive updates about mapping changes for an EID.voidupdateMapping(MappingOrigin origin, Eid key, MappingData mapping)Update mapping.
-
-
-
Method Detail
-
addMapping
void addMapping(MappingOrigin origin, Eid key, MappingData mapping)
Add mapping.- Parameters:
origin- Table where mapping should be addedkey- Key of the mappingmapping- Mapping to be stored
-
addNegativeMapping
MappingData addNegativeMapping(Eid key)
Generate and add a negative mapping entry originated from the southbound, and return the generated mapping.- Parameters:
key- Key of the mapping- Returns:
- Returns the generated negative mapping (which is never null).
-
updateMapping
void updateMapping(MappingOrigin origin, Eid key, MappingData mapping)
Update mapping.- Parameters:
origin- Table where mapping should be addedkey- Key of the mappingmapping- Mapping to be stored
-
getMapping
MappingData getMapping(Eid src, Eid dst)
Retrieves mapping for the provided src and dst key.- Parameters:
src- Source Key to be looked updst- Destination Key to be looked up- Returns:
- Returns the mapping found in the MappingSystem or null if nothing is found.
-
getMapping
MappingData getMapping(Eid dst)
Retrieves mapping for the provided dst key.- Parameters:
dst- Destination Key to be looked up- Returns:
- Returns the mapping found in the Mapping System or null if nothing is found.
-
getMapping
MappingData getMapping(Eid src, Eid dst, XtrId xtrId)
Retrieves mapping for the provided dst key for a particular xtr id.- Parameters:
src- Source Key to be looked up.dst- Destination Key to be looked up.xtrId- Xtr Id for which this look to be done. If null, this method works like regular getMapping(src, dst)- Returns:
- Returns the mapping found in the simple map cache or null if nothing is found.
-
getMapping
MappingData getMapping(MappingOrigin origin, Eid key)
Retrieves mapping from table for provided key.- Parameters:
origin- Table where mapping should be looked upkey- Key to be looked up- Returns:
- Returns the mapping found in the cache or null if nothing is found.
-
getWidestNegativePrefix
Eid getWidestNegativePrefix(Eid key)
Retrieves widest negative prefix from table for provided key.- Parameters:
key- Key to be looked up- Returns:
- Returns the prefix found in the cache or null if nothing is found.
-
getSubtree
java.util.Set<Eid> getSubtree(MappingOrigin origin, Eid key)
Retrieves the subtree of a maskable prefix from the given map-cache.- Parameters:
origin- Table where the key should be looked upkey- Key to be looked up- Returns:
- The child prefixes of the prefix, including the prefix itself if present
-
refreshMappingRegistration
void refreshMappingRegistration(Eid key, XtrId xtrId, java.lang.Long timestamp)
Refresh southbound mapping registration timestamp.- Parameters:
key- The EID whose registration must be refreshedxtrId- xTR-ID of the mapping to be refreshedtimestamp- New timestamp for the mapping
-
removeMapping
void removeMapping(MappingOrigin origin, Eid key)
Remove mapping.- Parameters:
origin- Table for mapping that should be removedkey- Key to be removed
-
subscribe
void subscribe(Subscriber subscriber, Eid subscribedEid)
Subscribe a Subscriber to receive updates about mapping changes for an EID.- Parameters:
subscriber- The Subscriber object with information about the subscribersubscribedEid- The EID for which the subscriber will receive updates
-
getSubscribers
java.util.Set<Subscriber> getSubscribers(Eid eid)
Retrieves the subscribers for an EID.- Parameters:
eid- The EID to be looked up- Returns:
- The set of subscribers for the EID
-
addAuthenticationKey
void addAuthenticationKey(Eid key, MappingAuthkey authKey)
Add authentication key.- Parameters:
key- The key for which the authentication key is addedauthKey- The authentication key
-
getAuthenticationKey
MappingAuthkey getAuthenticationKey(Eid key)
Retrieve authentication key.- Parameters:
key- The key for which the authentication key is being looked up.- Returns:
- The authentication key.
-
removeAuthenticationKey
void removeAuthenticationKey(Eid key)
Remove authentication key.- Parameters:
key- Key for which the authentication key should be removed.
-
addData
void addData(MappingOrigin origin, Eid key, java.lang.String subKey, java.lang.Object data)
Add data for key.- Parameters:
origin- Table for data that should be addedkey- The key for which data is insertedsubKey- The subKey where data should be inserteddata- The data to be stored
-
getData
java.lang.Object getData(MappingOrigin origin, Eid key, java.lang.String subKey)
Generic retrieval of data.- Parameters:
origin- Table from where data should be retrievedkey- The key where the data is storedsubKey- The subKey where data is stored- Returns:
- The data
-
removeData
void removeData(MappingOrigin origin, Eid key, java.lang.String subKey)
Generic removal of data.- Parameters:
origin- Table from where data should be removedkey- The key of the data to be removedsubKey- The subKey of the data to be removed
-
getParentPrefix
Eid getParentPrefix(Eid key)
Returns the parent prefix for given key.- Parameters:
key- The key which parent is to be returned.- Returns:
- The parent perfix of a specific key.
-
setIterateMask
void setIterateMask(boolean iterate)
Sets iterateMask. If set to true, longest prefix matching for IP keys is used.- Parameters:
iterate- Value to configure
-
setMappingMerge
void setMappingMerge(boolean mappingMerge)
Configure merge policy. If set to true, mappings are merged.- Parameters:
mappingMerge- Value to configure
-
printMappings
java.lang.String printMappings()
Print all mappings. Used for testing, debugging and the karaf shell.- Returns:
- String consisting of all mappings
-
prettyPrintMappings
java.lang.String prettyPrintMappings()
Print mappings in cache in a human friendly format.- Returns:
- a String consisting of all the mappings in the cache
-
printKeys
java.lang.String printKeys()
Print all authentication keys. Used for testing, debugging and the karaf shell.- Returns:
- String consisting of all mappings
-
prettyPrintKeys
java.lang.String prettyPrintKeys()
Print keys in cache in a human friendly format.- Returns:
- a String consisting of all the keys in the cache
-
setIsMaster
void setIsMaster(boolean isMaster)
Set cluster master status.- Parameters:
isMaster- is|isn't master
-
isMaster
boolean isMaster()
Get cluster master status.- Returns:
- isMaster is|isn't master
-
-