Interface IMappingSystem

All Known Implementing Classes:
MappingSystem

public interface IMappingSystem
Mapping System interface.
Author:
Florin Coras
  • Method Details

    • addMapping

      void addMapping(MappingOrigin origin, Eid key, MappingData mapping)
      Add mapping.
      Parameters:
      origin - Table where mapping should be added
      key - Key of 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).
    • updateMapping

      void updateMapping(MappingOrigin origin, Eid key, MappingData mapping)
      Update mapping.
      Parameters:
      origin - Table where mapping should be added
      key - Key of the mapping
      mapping - 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 up
      dst - 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 up
      key - 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

      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 for mapping that should be removed
      key - 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 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
    • 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
    • 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)
      Add data for key.
      Parameters:
      origin - Table for data that should be added
      key - The key for which data is 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 data should be retrieved
      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 - Table from where 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.
    • 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

      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
    • 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