scaffeine finite durations
parent
0df472ff34
commit
7def875ae0
|
@ -1,10 +1,10 @@
|
|||
package lila.memo
|
||||
|
||||
import com.github.blemale.scaffeine.Cache
|
||||
import scala.concurrent.duration.Duration
|
||||
import scala.concurrent.duration.FiniteDuration
|
||||
|
||||
// calls a function when a key expires
|
||||
final class ExpireCallbackMemo(ttl: Duration, callback: String => Unit)(implicit mode: play.api.Mode) {
|
||||
final class ExpireCallbackMemo(ttl: FiniteDuration, callback: String => Unit)(implicit mode: play.api.Mode) {
|
||||
|
||||
private val cache: Cache[String, Boolean] = lila.memo.CacheApi
|
||||
.scaffeine(mode)
|
||||
|
|
|
@ -2,9 +2,9 @@ package lila.memo
|
|||
|
||||
import com.github.blemale.scaffeine.Cache
|
||||
import com.github.ghik.silencer.silent
|
||||
import scala.concurrent.duration.Duration
|
||||
import scala.concurrent.duration.FiniteDuration
|
||||
|
||||
final class ExpireSetMemo(ttl: Duration) {
|
||||
final class ExpireSetMemo(ttl: FiniteDuration) {
|
||||
|
||||
private val cache: Cache[String, Boolean] = CacheApi.scaffeineNoScheduler
|
||||
.expireAfterWrite(ttl)
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
package lila.memo
|
||||
|
||||
import ornicar.scalalib.Zero
|
||||
import scala.concurrent.duration.Duration
|
||||
import scala.concurrent.duration.FiniteDuration
|
||||
|
||||
/**
|
||||
* side effect throttler that allows X ops per Y unit of time
|
||||
*/
|
||||
final class RateLimit[K](
|
||||
credits: Int,
|
||||
duration: Duration,
|
||||
duration: FiniteDuration,
|
||||
name: String,
|
||||
key: String,
|
||||
enforce: Boolean = true,
|
||||
|
@ -69,7 +69,7 @@ object RateLimit {
|
|||
key: String,
|
||||
enforce: Boolean = true,
|
||||
log: Boolean = true
|
||||
)(rules: (String, Int, Duration)*): RateLimiter[K] = {
|
||||
)(rules: (String, Int, FiniteDuration)*): RateLimiter[K] = {
|
||||
|
||||
val limiters: Seq[RateLimit[K]] = rules.map {
|
||||
case (subKey, credits, duration) =>
|
||||
|
|
|
@ -2,12 +2,12 @@ package lila.security
|
|||
|
||||
import com.github.blemale.scaffeine.Cache
|
||||
import org.joda.time.Instant
|
||||
import scala.concurrent.duration.Duration
|
||||
import scala.concurrent.duration.FiniteDuration
|
||||
|
||||
import lila.common.base.StringUtils.levenshtein
|
||||
import lila.user.User
|
||||
|
||||
final class Flood(duration: Duration) {
|
||||
final class Flood(duration: FiniteDuration) {
|
||||
|
||||
import Flood._
|
||||
|
||||
|
|
Loading…
Reference in New Issue