All Known Implementing Classes:
MappingService

public interface IMappingService
Mapping Service Java API.
Author:
Florin Coras
  • Method Details

    • addMapping

      void addMapping(MappingOrigin origin, Eid key, SiteId siteId, MappingData mapping)
      Add mapping.
      Parameters:
      origin - Table where mapping should be added
      key - Key of the mapping
      siteId - Site that stores the mapping
      mapping - 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).
    • getMapping

      MappingData getMapping(MappingOrigin origin, Eid key)
      Retrieves mapping with given origin for the provided key. The lookup policy for the key is defined in the Mapping System.
      Parameters:
      origin - Table where the mapping should be looked up.
      key - Key to be looked up
      Returns:
      Returns the mapping found in the Mapping System or null if nothing is found.
    • getMapping

      MappingData getMapping(Eid key)
      Retrieves mapping for given key.The lookup policy for the key is defined in the Mapping System.
      Parameters:
      key - Key to be looked up
      Returns:
      Returns the mapping found in the Mapping System or null if nothing is found.
    • getMapping

      MappingData getMapping(Eid srcKey, Eid dstKey)
      Retrieves mapping with a Source/Dest policy. This method is meant to avoid the overhead of building LcafSourceDest addresses.
      Parameters:
      srcKey - Source key being looked up
      dstKey - Destination key being looked up
      Returns:
      Returns the mapping found in the Mapping System or null if nothing is found.
    • getWidestNegativePrefix

      Eid getWidestNegativePrefix(Eid key)
      Retrieves widest negative prefix found in the Mapping System for given key.
      Parameters:
      key - Key being looked up
      Returns:
      Returns the widest negative prefix or null if nothing is found.
    • getSubtree

      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 up
      key - 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, Long timestamp)
      Refresh southbound mapping registration timestamp.
      Parameters:
      key - The EID whose registration must be refreshed
      xtrId - xTR-ID of the mapping to be refreshed
      timestamp - New timestamp for the mapping
    • removeMapping

      void removeMapping(MappingOrigin origin, Eid key)
      Remove mapping.
      Parameters:
      origin - Table from where the mapping should be removed
      key - Key to be removed
    • addAuthenticationKey

      void addAuthenticationKey(Eid key, MappingAuthkey authKey)
      Add authentication key.
      Parameters:
      key - The key for which the authentication key is added
      authKey - The authentication key
    • 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 subscriber
      subscribedEid - The EID for which the subscriber will receive updates
    • getSubscribers

      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
    • 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, String subKey, Object data)
      Generic addition of data. Not stored in MD-SAL datastore!
      Parameters:
      origin - Table where data should be inserted
      key - The key where data should be inserted
      subKey - The subKey where data should be inserted
      data - The data to be stored
    • getData

      Object getData(MappingOrigin origin, Eid key, String subKey)
      Generic retrieval of data.
      Parameters:
      origin - Table from where the data should be read
      key - The key where the data is stored
      subKey - The subKey where data is stored
      Returns:
      The data
    • removeData

      void removeData(MappingOrigin origin, Eid key, String subKey)
      Generic removal of data.
      Parameters:
      origin - The table from where the data should be removed
      key - The key of the data to be removed
      subKey - 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.
    • setMappingMerge

      void setMappingMerge(boolean mappingMerge)
      Configures Mapping Service mapping merge option. If set to false, mappings with the same key are overwritten, otherwise, mappings with the same key but from different xTR-IDs are all stored.
      Parameters:
      mappingMerge - enables or disables mapping merge
    • setLookupPolicy

      void setLookupPolicy(IMappingService.LookupPolicy policy)
      Configures Mapping Service mapping lookup policy option.
      Parameters:
      policy - the policy to be activated
    • printMappings

      String printMappings()
      Print all mappings. Used for testing, debugging and the karaf shell.
      Returns:
      String consisting of all mappings
    • prettyPrintMappings

      String prettyPrintMappings()
      Print mappings in cache in a human friendly format.
      Returns:
      a String consisting of all the mappings in the cache
    • printKeys

      String printKeys()
      Print all authentication keys. Used for testing, debugging and the karaf shell.
      Returns:
      String consisting of all mappings
    • prettyPrintKeys

      String prettyPrintKeys()
      Print keys in cache in a human friendly format.
      Returns:
      a String consisting of all the keys in the cache
    • cleanCachedMappings

      void cleanCachedMappings()
      Cleans all cached mappings.Used for testing.
    • 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