From e55f60c30bf7caf995a834b42cf49b366f9798b2 Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Thu, 30 Jun 2022 00:22:07 +0600 Subject: [PATCH] rename unlimited kv cache --- .../cache/{UnlimitedKVCache.kt => FullKVCache.kt} | 2 +- ...mpleUnlimitedKVCache.kt => SimpleFullKVCache.kt} | 4 ++-- .../repos/cache/full/FullCRUDCacheRepo.kt | 12 +++++------- .../repos/cache/full/FullKeyValueCacheRepo.kt | 12 ++++++------ .../repos/cache/full/FullKeyValuesCacheRepo.kt | 13 ++++++------- 5 files changed, 20 insertions(+), 23 deletions(-) rename repos/cache/src/commonMain/kotlin/dev/inmo/micro_utils/repos/cache/cache/{UnlimitedKVCache.kt => FullKVCache.kt} (77%) rename repos/cache/src/commonMain/kotlin/dev/inmo/micro_utils/repos/cache/cache/{SimpleUnlimitedKVCache.kt => SimpleFullKVCache.kt} (85%) diff --git a/repos/cache/src/commonMain/kotlin/dev/inmo/micro_utils/repos/cache/cache/UnlimitedKVCache.kt b/repos/cache/src/commonMain/kotlin/dev/inmo/micro_utils/repos/cache/cache/FullKVCache.kt similarity index 77% rename from repos/cache/src/commonMain/kotlin/dev/inmo/micro_utils/repos/cache/cache/UnlimitedKVCache.kt rename to repos/cache/src/commonMain/kotlin/dev/inmo/micro_utils/repos/cache/cache/FullKVCache.kt index e0eeeaf8958..73fec60cad8 100644 --- a/repos/cache/src/commonMain/kotlin/dev/inmo/micro_utils/repos/cache/cache/UnlimitedKVCache.kt +++ b/repos/cache/src/commonMain/kotlin/dev/inmo/micro_utils/repos/cache/cache/FullKVCache.kt @@ -3,4 +3,4 @@ package dev.inmo.micro_utils.repos.cache.cache /** * This interface declares that current type of [KVCache] will contains all the data all the time of its life */ -interface UnlimitedKVCache : KVCache +interface FullKVCache : KVCache diff --git a/repos/cache/src/commonMain/kotlin/dev/inmo/micro_utils/repos/cache/cache/SimpleUnlimitedKVCache.kt b/repos/cache/src/commonMain/kotlin/dev/inmo/micro_utils/repos/cache/cache/SimpleFullKVCache.kt similarity index 85% rename from repos/cache/src/commonMain/kotlin/dev/inmo/micro_utils/repos/cache/cache/SimpleUnlimitedKVCache.kt rename to repos/cache/src/commonMain/kotlin/dev/inmo/micro_utils/repos/cache/cache/SimpleFullKVCache.kt index 2f7e9ab32c4..e15a860c27d 100644 --- a/repos/cache/src/commonMain/kotlin/dev/inmo/micro_utils/repos/cache/cache/SimpleUnlimitedKVCache.kt +++ b/repos/cache/src/commonMain/kotlin/dev/inmo/micro_utils/repos/cache/cache/SimpleFullKVCache.kt @@ -5,9 +5,9 @@ import dev.inmo.micro_utils.repos.MapKeyValueRepo import kotlinx.coroutines.sync.Mutex import kotlinx.coroutines.sync.withLock -open class SimpleUnlimitedKVCache( +open class SimpleFullKVCache( private val kvParent: KeyValueRepo = MapKeyValueRepo() -) : UnlimitedKVCache, KeyValueRepo by kvParent { +) : FullKVCache, KeyValueRepo by kvParent { protected val syncMutex = Mutex() override suspend fun set(toSet: Map) { diff --git a/repos/cache/src/commonMain/kotlin/dev/inmo/micro_utils/repos/cache/full/FullCRUDCacheRepo.kt b/repos/cache/src/commonMain/kotlin/dev/inmo/micro_utils/repos/cache/full/FullCRUDCacheRepo.kt index 67af0f3d43b..7a8a07a117b 100644 --- a/repos/cache/src/commonMain/kotlin/dev/inmo/micro_utils/repos/cache/full/FullCRUDCacheRepo.kt +++ b/repos/cache/src/commonMain/kotlin/dev/inmo/micro_utils/repos/cache/full/FullCRUDCacheRepo.kt @@ -6,22 +6,20 @@ import dev.inmo.micro_utils.pagination.PaginationResult import dev.inmo.micro_utils.pagination.utils.doForAllWithNextPaging import dev.inmo.micro_utils.repos.* import dev.inmo.micro_utils.repos.cache.* -import dev.inmo.micro_utils.repos.cache.cache.KVCache -import dev.inmo.micro_utils.repos.cache.cache.UnlimitedKVCache +import dev.inmo.micro_utils.repos.cache.cache.FullKVCache import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.flow.* open class FullReadCRUDCacheRepo( protected open val parentRepo: ReadCRUDRepo, - protected open val kvCache: UnlimitedKVCache, + protected open val kvCache: FullKVCache, protected open val idGetter: (ObjectType) -> IdType ) : ReadCRUDRepo { protected inline fun doOrTakeAndActualize( - action: UnlimitedKVCache.() -> Optional, + action: FullKVCache.() -> Optional, actionElse: ReadCRUDRepo.() -> T, - actualize: UnlimitedKVCache.(T) -> Unit + actualize: FullKVCache.(T) -> Unit ): T { kvCache.action().onPresented { return it @@ -67,7 +65,7 @@ open class FullReadCRUDCacheRepo( open class FullCRUDCacheRepo( override val parentRepo: CRUDRepo, - kvCache: UnlimitedKVCache, + kvCache: FullKVCache, scope: CoroutineScope = CoroutineScope(Dispatchers.Default), idGetter: (ObjectType) -> IdType ) : FullReadCRUDCacheRepo( diff --git a/repos/cache/src/commonMain/kotlin/dev/inmo/micro_utils/repos/cache/full/FullKeyValueCacheRepo.kt b/repos/cache/src/commonMain/kotlin/dev/inmo/micro_utils/repos/cache/full/FullKeyValueCacheRepo.kt index cdcce23654d..5bdb8746ebe 100644 --- a/repos/cache/src/commonMain/kotlin/dev/inmo/micro_utils/repos/cache/full/FullKeyValueCacheRepo.kt +++ b/repos/cache/src/commonMain/kotlin/dev/inmo/micro_utils/repos/cache/full/FullKeyValueCacheRepo.kt @@ -4,7 +4,7 @@ import dev.inmo.micro_utils.common.* import dev.inmo.micro_utils.pagination.Pagination import dev.inmo.micro_utils.pagination.PaginationResult import dev.inmo.micro_utils.repos.* -import dev.inmo.micro_utils.repos.cache.cache.UnlimitedKVCache +import dev.inmo.micro_utils.repos.cache.cache.FullKVCache import dev.inmo.micro_utils.repos.pagination.getAll import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers @@ -12,12 +12,12 @@ import kotlinx.coroutines.flow.* open class FullReadKeyValueCacheRepo( protected open val parentRepo: ReadKeyValueRepo, - protected open val kvCache: UnlimitedKVCache, + protected open val kvCache: FullKVCache, ) : ReadKeyValueRepo { protected inline fun doOrTakeAndActualize( - action: UnlimitedKVCache.() -> Optional, + action: FullKVCache.() -> Optional, actionElse: ReadKeyValueRepo.() -> T, - actualize: UnlimitedKVCache.(T) -> Unit + actualize: FullKVCache.(T) -> Unit ): T { kvCache.action().onPresented { return it @@ -72,7 +72,7 @@ open class FullReadKeyValueCacheRepo( open class FullWriteKeyValueCacheRepo( protected open val parentRepo: WriteKeyValueRepo, - protected open val kvCache: UnlimitedKVCache, + protected open val kvCache: FullKVCache, scope: CoroutineScope = CoroutineScope(Dispatchers.Default) ) : WriteKeyValueRepo by parentRepo { protected val onNewJob = parentRepo.onNewValue.onEach { kvCache.set(it.first, it.second) }.launchIn(scope) @@ -81,7 +81,7 @@ open class FullWriteKeyValueCacheRepo( open class FullKeyValueCacheRepo( parentRepo: KeyValueRepo, - kvCache: UnlimitedKVCache, + kvCache: FullKVCache, scope: CoroutineScope = CoroutineScope(Dispatchers.Default) ) : FullWriteKeyValueCacheRepo(parentRepo, kvCache, scope), KeyValueRepo, diff --git a/repos/cache/src/commonMain/kotlin/dev/inmo/micro_utils/repos/cache/full/FullKeyValuesCacheRepo.kt b/repos/cache/src/commonMain/kotlin/dev/inmo/micro_utils/repos/cache/full/FullKeyValuesCacheRepo.kt index 19355ecc17a..311e4d40f1c 100644 --- a/repos/cache/src/commonMain/kotlin/dev/inmo/micro_utils/repos/cache/full/FullKeyValuesCacheRepo.kt +++ b/repos/cache/src/commonMain/kotlin/dev/inmo/micro_utils/repos/cache/full/FullKeyValuesCacheRepo.kt @@ -4,20 +4,19 @@ import dev.inmo.micro_utils.common.* import dev.inmo.micro_utils.pagination.* import dev.inmo.micro_utils.pagination.utils.* import dev.inmo.micro_utils.repos.* -import dev.inmo.micro_utils.repos.cache.cache.UnlimitedKVCache -import dev.inmo.micro_utils.repos.pagination.getAll +import dev.inmo.micro_utils.repos.cache.cache.FullKVCache import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.* open class FullReadKeyValuesCacheRepo( protected open val parentRepo: ReadKeyValuesRepo, - protected open val kvCache: UnlimitedKVCache>, + protected open val kvCache: FullKVCache>, ) : ReadKeyValuesRepo { protected inline fun doOrTakeAndActualize( - action: UnlimitedKVCache>.() -> Optional, + action: FullKVCache>.() -> Optional, actionElse: ReadKeyValuesRepo.() -> T, - actualize: UnlimitedKVCache>.(T) -> Unit + actualize: FullKVCache>.(T) -> Unit ): T { kvCache.action().onPresented { return it @@ -107,7 +106,7 @@ open class FullReadKeyValuesCacheRepo( open class FullWriteKeyValuesCacheRepo( protected open val parentRepo: WriteKeyValueRepo, - protected open val kvCache: UnlimitedKVCache, + protected open val kvCache: FullKVCache, scope: CoroutineScope = CoroutineScope(Dispatchers.Default) ) : WriteKeyValueRepo by parentRepo { protected val onNewJob = parentRepo.onNewValue.onEach { kvCache.set(it.first, it.second) }.launchIn(scope) @@ -116,7 +115,7 @@ open class FullWriteKeyValuesCacheRepo( open class FullKeyValuesCacheRepo( parentRepo: KeyValueRepo, - kvCache: UnlimitedKVCache, + kvCache: FullKVCache, scope: CoroutineScope = CoroutineScope(Dispatchers.Default) ) : FullWriteKeyValueCacheRepo(parentRepo, kvCache, scope), KeyValueRepo,