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.