rename token bucket
parent
2837b689b6
commit
e68db75cee
|
@ -10,7 +10,7 @@ import play.api.mvc.WebSocket.FrameFormatter
|
|||
import play.twirl.api.Html
|
||||
import scalaz.Monoid
|
||||
|
||||
import lila.api.{ PageData, Context, HeaderContext, BodyContext, TokenBucketGroup }
|
||||
import lila.api.{ PageData, Context, HeaderContext, BodyContext, TokenBucket }
|
||||
import lila.app._
|
||||
import lila.common.{ LilaCookie, HTTPRequest }
|
||||
import lila.security.{ Permission, Granter, FingerprintedUser }
|
||||
|
@ -59,7 +59,7 @@ private[controllers] trait LilaController
|
|||
}
|
||||
}
|
||||
|
||||
protected def SocketOptionLimited[A: FrameFormatter](consumer: TokenBucketGroup.Consumer)(f: Context => Fu[Option[(Iteratee[A, _], Enumerator[A])]]) =
|
||||
protected def SocketOptionLimited[A: FrameFormatter](consumer: TokenBucket.Consumer)(f: Context => Fu[Option[(Iteratee[A, _], Enumerator[A])]]) =
|
||||
LilaSocket.rateLimited[A](consumer) { req =>
|
||||
reqToCtx(req) flatMap f map {
|
||||
case None => Left(NotFound(jsonError("socket resource not found")))
|
||||
|
|
|
@ -6,7 +6,7 @@ import play.api.libs.json._
|
|||
import play.api.mvc._, Results._
|
||||
import play.api.mvc.WebSocket.FrameFormatter
|
||||
|
||||
import lila.api.TokenBucketGroup
|
||||
import lila.api.TokenBucket
|
||||
import lila.app._
|
||||
import lila.common.HTTPRequest
|
||||
|
||||
|
@ -16,7 +16,7 @@ object LilaSocket {
|
|||
|
||||
private val logger = play.api.Logger("ratelimit")
|
||||
|
||||
def rateLimited[A: FrameFormatter](consumer: TokenBucketGroup.Consumer)(f: AcceptType[A]): WebSocket[A, A] =
|
||||
def rateLimited[A: FrameFormatter](consumer: TokenBucket.Consumer)(f: AcceptType[A]): WebSocket[A, A] =
|
||||
WebSocket[A, A] { req =>
|
||||
val ip = HTTPRequest lastRemoteAddress req
|
||||
f(req).map { resultOrSocket =>
|
||||
|
|
|
@ -41,7 +41,7 @@ object Lobby extends LilaController {
|
|||
)
|
||||
}
|
||||
|
||||
private val socketConsumer = lila.api.TokenBucketGroup.create(
|
||||
private val socketConsumer = lila.api.TokenBucket.create(
|
||||
system = lila.common.PlayApp.system,
|
||||
size = 10,
|
||||
rate = 5)
|
||||
|
|
|
@ -38,7 +38,7 @@ private case class TokenRequest(key: Any)
|
|||
* @param rate refill rate in tokens per second
|
||||
* @param clock for mocking the current time.
|
||||
*/
|
||||
private class TokenBucketGroup(size: Int, rate: Float, clock: Clock) extends Actor {
|
||||
private class TokenBucket(size: Int, rate: Float, clock: Clock) extends Actor {
|
||||
|
||||
private val intervalMillis: Int = (1000 / rate).toInt
|
||||
|
||||
|
@ -75,7 +75,7 @@ private class TokenBucketGroup(size: Int, rate: Float, clock: Clock) extends Act
|
|||
}
|
||||
}
|
||||
|
||||
object TokenBucketGroup {
|
||||
object TokenBucket {
|
||||
|
||||
private val defaultTimeout = Timeout(100, TimeUnit.MILLISECONDS)
|
||||
|
||||
|
@ -101,7 +101,7 @@ object TokenBucketGroup {
|
|||
require(size <= 1000)
|
||||
require(rate >= 0.000001f)
|
||||
require(rate <= 1000)
|
||||
new Consumer(system.actorOf(Props(new TokenBucketGroup(size, rate, clock))))
|
||||
new Consumer(system.actorOf(Props(new TokenBucket(size, rate, clock))))
|
||||
}
|
||||
|
||||
/**
|
Loading…
Reference in New Issue