+ /*
+ * Since this method is only called when there is a hit in the southbound Map-Register cache, and that cache is
+ * not used when merge is on, it's OK to ignore the effects of timestamp changes on merging for now.
+ */
+ public void refreshMappingRegistration(Eid key, XtrId xtrId, Long timestamp) {
+ if (timestamp == null) {
+ timestamp = System.currentTimeMillis();
+ }
+ MappingData mappingData = (MappingData) smc.getMapping(null, key);
+ if (mappingData != null) {
+ mappingData.setTimestamp(new Date(timestamp));
+ } else {
+ LOG.warn("Could not update timestamp for EID {}, no mapping found", LispAddressStringifier.getString(key));
+ }
+ if (xtrId != null) {
+ MappingData xtrIdMappingData = (MappingData) smc.getMapping(key, xtrId);
+ if (xtrIdMappingData != null) {
+ xtrIdMappingData.setTimestamp(new Date(timestamp));
+ } else {
+ LOG.warn("Could not update timestamp for EID {} xTR-ID {}, no mapping found",
+ LispAddressStringifier.getString(key), LispAddressStringifier.getString(xtrId));
+ }
+ }
+ }
+
+ private MappingData updateServicePathMappingRecord(MappingData mappingData, Eid eid) {