package se.sics.gvod.config;
import se.sics.gvod.ls.system.LSConfig;
public class VideoCompositeConfiguration extends CompositeConfiguration {
public static int SNAPSHOT_PERIOD = 5000;
public static int VIEW_SIZE = 20;
CroupierConfiguration croupierConfig;
ParentMakerConfiguration parentMakerConfig;
InterAsConfiguration interAsConfig;
VideoConfiguration videoConfig;
//-------------------------------------------------------------------
public VideoCompositeConfiguration(int parentSize, int parentUpdatePeriod,
int localHistorySize, int neighbourHistorySize,
String croupierNodeSelectionPolicy) {
parentMakerConfig = ParentMakerConfiguration.build()
.setNumParents(parentSize)
.setParentUpdatePeriod(parentUpdatePeriod)
.setKeepParentRttRange(100)
.setRtoRetries(1)
;
croupierConfig =
CroupierConfiguration.build()
.setPolicy(croupierNodeSelectionPolicy)
.setShuffleLength(VIEW_SIZE / 2)
.setViewSize(VIEW_SIZE);
interAsConfig = new InterAsConfiguration();
videoConfig = new VideoConfiguration(
LSConfig.getSeed(),
LSConfig.isSimulation(), LSConfig.getExperimentId(), LSConfig.getExperimentIteration(),
LSConfig.hasSourceUrlSet(), LSConfig.getSourceUrl(),
LSConfig.hasDestUrlSet(), LSConfig.getDestIp(), LSConfig.getDestPort(),
LSConfig.hasInputFileSet(), LSConfig.getInputFilename(),
LSConfig.hasOutputFileSet(), LSConfig.getOutputFilename(),
LSConfig.hasMonitorUrlSet(), LSConfig.getMonitorServerUrl(),
5000,
1,
10);
}
public CroupierConfiguration getCroupierConfig() {
return croupierConfig;
}
public ParentMakerConfiguration getParentMakerConfig() {
return parentMakerConfig;
}
public InterAsConfiguration getInterAsConfig() {
return interAsConfig;
}
public VideoConfiguration getVideoConfig() {
return videoConfig;
}
}