Time Bucket DS for handeling SB mapping timeout 13/46013/19
authorShakib Ahmed <sheikahm@cisco.com>
Thu, 1 Dec 2016 19:19:28 +0000 (11:19 -0800)
committerShakib Ahmed <sheikahm@cisco.com>
Thu, 16 Feb 2017 21:17:24 +0000 (13:17 -0800)
commitdbc37af0bc9d6b3d73a34c4bb44afe2c3eb9b95c
tree5c51ce2a3c1900fe6316b6d2c2db3df3ab454cdb
parent4d5e2088b924f0d60e8ef9bcfa349b85258d3546
Time Bucket DS for handeling SB mapping timeout

Mapping records in map caches have expiration time. When
mapping records surpass their expiration time, they are
supposed to be expired, meaning, removed from the map cache.

Right now the mapping records are expired in a lazy manner,
meaning, we query and handle the validity of the mapping only
when the mapping are beign asked for which introduces the
possibility of mapping records being in map cache indefinitly
if they are not requested for.

Time Bucket data structure maintains mapping records and
delete them upon expiration in a non-lazy manner.

Change-Id: I664249cc5c5d14cb54759369c6f982aef89a0ca3
Signed-off-by: Shakib Ahmed <sheikahm@cisco.com>
mappingservice/api/src/main/java/org/opendaylight/lispflowmapping/interfaces/dao/SubKeys.java
mappingservice/config/src/main/java/org/opendaylight/lispflowmapping/config/ConfigIni.java
mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/MappingSystem.java
mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/timebucket/containers/TimeBucket.java [new file with mode: 0644]
mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/timebucket/containers/TimeBucketWheel.java [new file with mode: 0644]
mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/timebucket/implementation/TimeBucketMappingTimeoutService.java [new file with mode: 0644]
mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/timebucket/interfaces/ISouthBoundMappingTimeoutService.java [new file with mode: 0644]
mappingservice/implementation/src/test/java/org/opendaylight/lispflowmapping/implementation/timebucket/TimeBucketWheelUnitTest.java [new file with mode: 0644]
mappingservice/mapcache/src/main/java/org/opendaylight/lispflowmapping/mapcache/SimpleMapCache.java
mappingservice/mapcache/src/test/java/org/opendaylight/lispflowmapping/mapcache/SimpleMapCacheTest.java