Package io.split.engine.experiments
Class SplitFetcherImp
- java.lang.Object
-
- io.split.engine.experiments.SplitFetcherImp
-
- All Implemented Interfaces:
SplitFetcher,Runnable
public class SplitFetcherImp extends Object implements SplitFetcher
An ExperimentFetcher that refreshes experiment definitions periodically.- Author:
- adil
-
-
Constructor Summary
Constructors Constructor Description SplitFetcherImp(SplitChangeFetcher splitChangeFetcher, SplitParser parser, SplitCacheProducer splitCacheProducer, TelemetryRuntimeProducer telemetryRuntimeProducer, FlagSetsFilter flagSetsFilter, RuleBasedSegmentParser parserRBS, RuleBasedSegmentCacheProducer ruleBasedSegmentCacheProducer)Contains all the traffic types that are currently being used by the splits and also the count For example if there are three splits, one of traffic type "account" and two of traffic type "user", this multiset will contain [{"user", 2}, {"account", 1}] The count is used to maintain how many splits are using a traffic type, so when an ARCHIVED split is received, we know if we need to remove a traffic type from the multiset.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description FetchResultforceRefresh(FetchOptions options)Forces a sync of splits, outside of any scheduled syncs.voidrun()
-
-
-
Constructor Detail
-
SplitFetcherImp
public SplitFetcherImp(SplitChangeFetcher splitChangeFetcher, SplitParser parser, SplitCacheProducer splitCacheProducer, TelemetryRuntimeProducer telemetryRuntimeProducer, FlagSetsFilter flagSetsFilter, RuleBasedSegmentParser parserRBS, RuleBasedSegmentCacheProducer ruleBasedSegmentCacheProducer)
Contains all the traffic types that are currently being used by the splits and also the count For example if there are three splits, one of traffic type "account" and two of traffic type "user", this multiset will contain [{"user", 2}, {"account", 1}] The count is used to maintain how many splits are using a traffic type, so when an ARCHIVED split is received, we know if we need to remove a traffic type from the multiset.
-
-
Method Detail
-
forceRefresh
public FetchResult forceRefresh(FetchOptions options)
Description copied from interface:SplitFetcherForces a sync of splits, outside of any scheduled syncs. This method MUST NOT throw any exceptions.- Specified by:
forceRefreshin interfaceSplitFetcher
-
-