remove analysis socket

pull/5530/head
Thibault Duplessis 2019-09-16 22:17:16 +02:00
parent 5d1fe65f62
commit 64a92551bd
6 changed files with 3 additions and 92 deletions

View File

@ -95,12 +95,6 @@ object UserAnalysis extends LilaController with TheftPrevention {
}
}
def socket(apiVersion: Int) = SocketOption { implicit ctx =>
getSocketSri("sri") ?? { sri =>
Env.analyse.socketHandler.join(sri, ctx.me, apiVersion) map some
}
}
// XHR only
def pgn = OpenBody { implicit ctx =>
implicit val req = ctx.body

View File

@ -190,9 +190,6 @@ bookmark {
actor.name = bookmark
}
analyse {
socket {
sri.ttl = ${site.socket.sri.ttl}
}
collection.analysis = analysis2
collection.requester = analysis_requester
net.domain = ${net.domain}

View File

@ -98,8 +98,6 @@ POST /training/:id/attempt controllers.Puzzle.round(id: Int)
# User Analysis
# mobile app sends no site socket version: default to v3
GET /analysis/socket controllers.UserAnalysis.socket(apiVersion: Int = 3)
GET /analysis/socket/v:apiVersion controllers.UserAnalysis.socket(apiVersion: Int)
GET /analysis/help controllers.UserAnalysis.help
GET /analysis/*something controllers.UserAnalysis.parse(something: String)
GET /analysis controllers.UserAnalysis.index

View File

@ -1,39 +0,0 @@
package lila.analyse
import play.api.libs.iteratee._
import play.api.libs.json.JsValue
import scala.concurrent.duration._
import scala.concurrent.Promise
import lila.socket._
private final class AnalyseSocket(
system: akka.actor.ActorSystem,
sriTtl: FiniteDuration
) extends SocketTrouper[AnalyseSocket.Member](system, sriTtl) with LoneSocket {
def monitoringName = "analyse"
def broomFrequency = 4027 millis
import AnalyseSocket._
def receiveSpecific = {
case Join(sri, userId, promise) =>
val (enumerator, channel) = Concurrent.broadcast[JsValue]
val member = Member(channel, userId)
addMember(sri, member)
promise success Connected(enumerator, member)
}
}
private object AnalyseSocket {
case class Member(
channel: JsChannel,
userId: Option[lila.user.User.ID]
) extends DirectSocketMember
private[analyse] case class Join(sri: Socket.Sri, userId: Option[String], promise: Promise[Connected])
private[analyse] case class Connected(enumerator: JsEnumerator, member: Member)
}

View File

@ -1,30 +0,0 @@
package lila.analyse
import lila.common.ApiVersion
import lila.socket._
import lila.user.User
private[analyse] final class AnalyseSocketHandler(
socket: AnalyseSocket,
hub: lila.hub.Env,
evalCacheHandler: lila.evalCache.EvalCacheSocketHandler
) {
import AnalyseSocket._
def join(
sri: Socket.Sri,
user: Option[User],
apiVersion: ApiVersion
): Fu[JsSocketHandler] =
socket.ask[Connected](Join(sri, user.map(_.id), _)) map {
case Connected(enum, member) => Handler.iteratee(
hub,
evalCacheHandler(sri, member, user),
member,
socket,
sri,
apiVersion
) -> enum
}
}

View File

@ -6,16 +6,13 @@ import com.typesafe.config.Config
final class Env(
config: Config,
db: lila.db.Env,
system: ActorSystem,
evalCacheHandler: lila.evalCache.EvalCacheSocketHandler,
hub: lila.hub.Env,
bus: lila.common.Bus,
indexer: ActorSelection
) {
private val CollectionAnalysis = config getString "collection.analysis"
private val CollectionRequester = config getString "collection.requester"
private val NetDomain = config getString "net.domain"
private val SocketSriTtl = config duration "socket.sri.ttl"
lazy val analysisColl = db(CollectionAnalysis)
@ -24,14 +21,10 @@ final class Env(
lazy val analyser = new Analyser(
indexer = indexer,
requesterApi = requesterApi,
bus = system.lilaBus
bus = bus
)
lazy val annotator = new Annotator(NetDomain)
private val socket = new AnalyseSocket(system, SocketSriTtl)
lazy val socketHandler = new AnalyseSocketHandler(socket, hub, evalCacheHandler)
}
object Env {
@ -39,9 +32,7 @@ object Env {
lazy val current = "analyse" boot new Env(
config = lila.common.PlayApp loadConfig "analyse",
db = lila.db.Env.current,
system = lila.common.PlayApp.system,
evalCacheHandler = lila.evalCache.Env.current.socketHandler,
hub = lila.hub.Env.current,
bus = lila.common.PlayApp.system.lilaBus,
indexer = lila.hub.Env.current.gameSearch
)
}