public interface Layer
ExperimentSpace that contains subclasses of the Segment interface, which
represent experiments and domains.
An ExperimentState will be diverted into at most one Segment inside of each Layer
instance, depending on the attributes of the ExperimentState and the active diversion criteria. Layers
are designed so that diversion across layers is independent; knowing which experiment a request was diverted into
in one layer does not provide any information about what requests it will divert into in a different layer.
| Modifier and Type | Method and Description |
|---|---|
void |
assign(ExperimentState state,
List<DiversionCriterion> diversionCriteria,
Map<String,FlagValueCalculator<Object>> overrides,
Set<Integer> newExperimentIds)
Assign the given state to a
Segment of this Layer based on the given diversionCriteria
and update the overrides and set of newExperimentIds based on the settings in that Segment. |
boolean |
isLaunchLayer()
Returns true if this is a launch layer instance, whose experiments have priority over other layers for overriding
flag value calculations.
|
void assign(ExperimentState state, List<DiversionCriterion> diversionCriteria, Map<String,FlagValueCalculator<Object>> overrides, Set<Integer> newExperimentIds)
Segment of this Layer based on the given diversionCriteria
and update the overrides and set of newExperimentIds based on the settings in that Segment.state - the ExperimentState undergoing diversiondiversionCriteria - the configured DiversionCriterion applied to the stateoverrides - the current set of overrides to the default FlagValueCalculator instancesnewExperimentIds - the list of new experiment ids this state will be added toboolean isLaunchLayer()
Copyright © 2013. All rights reserved.