[IC] Refactor IC maps to reuse code and ensure consistency

The key changes include:
  - Top interface: `PersistentStorage`
  - Implementation:
      + `LazyStorage`
      + `InMemoryStorage`
  - Extended functionality:
      + `BasicMap`
      + `PersistentStorageAdapter`

 The remaining changes are small cleanups to adapt to the above key
 changes.

 Test: Existing tests (refactoring change)
 Bug: N/A (code cleanup)
This commit is contained in:
Hung Nguyen
2023-08-25 20:12:52 +01:00
committed by Space Cloud
parent e8630fd63f
commit 4e89dcf031
26 changed files with 730 additions and 581 deletions
@@ -32,8 +32,7 @@ class FileSnapshotMapTest : TestWithWorkingDir() {
@After
override fun tearDown() {
snapshotMap.flush(false)
snapshotMap.closeForTest()
snapshotMap.close()
super.tearDown()
}
@@ -50,8 +50,7 @@ class SourceToOutputFilesMapTest {
@After
fun tearDown() {
stofMap.flush(false)
stofMap.closeForTest()
stofMap.close()
}
@Test