the-algorithm/cr-mixer/server/src/main/scala/com/twitter/cr_mixer/filter/FilterBase.scala
twitter-team ef4c5eb65e Twitter Recommendation Algorithm
Please note we have force-pushed a new initial commit in order to remove some publicly-available Twitter user information. Note that this process may be required in the future.
2023-03-31 17:36:31 -05:00

23 lines
618 B
Scala

package com.twitter.cr_mixer.filter
import com.twitter.cr_mixer.model.CandidateGeneratorQuery
import com.twitter.cr_mixer.model.InitialCandidate
import com.twitter.util.Future
trait FilterBase {
def name: String
type ConfigType
def filter(
candidates: Seq[Seq[InitialCandidate]],
config: ConfigType
): Future[Seq[Seq[InitialCandidate]]]
/**
* Build the config params here. passing in param() into the filter is strongly discouraged
* because param() can be slow when called many times
*/
def requestToConfig[CGQueryType <: CandidateGeneratorQuery](request: CGQueryType): ConfigType
}