the-algorithm/visibilitylib/src/main/scala/com/twitter/visibility/engine/DeciderableVisibilityRuleEngine.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

27 lines
935 B
Scala

package com.twitter.visibility.engine
import com.twitter.servo.util.Gate
import com.twitter.spam.rtf.thriftscala.{SafetyLevel => ThriftSafetyLevel}
import com.twitter.stitch.Stitch
import com.twitter.visibility.builder.VisibilityResult
import com.twitter.visibility.builder.VisibilityResultBuilder
import com.twitter.visibility.models.SafetyLevel
import com.twitter.visibility.rules.EvaluationContext
import com.twitter.visibility.rules.Rule
trait DeciderableVisibilityRuleEngine {
def apply(
evaluationContext: EvaluationContext,
safetyLevel: SafetyLevel,
visibilityResultBuilder: VisibilityResultBuilder,
enableShortCircuiting: Gate[Unit] = Gate.True,
preprocessedRules: Option[Seq[Rule]] = None
): Stitch[VisibilityResult]
def apply(
evaluationContext: EvaluationContext,
thriftSafetyLevel: ThriftSafetyLevel,
visibilityResultBuilder: VisibilityResultBuilder
): Stitch[VisibilityResult]
}