in server/src/main/java/jetbrains/buildServer/torrent/TorrentTrackerManager.java [43:78]
public TorrentTrackerManager(@NotNull final TorrentConfigurator configurator,
@NotNull final ExecutorServices executorServices,
@NotNull final EventDispatcher<BuildServerListener> dispatcher,
@NotNull final AddressChecker addressChecker,
@NotNull final ServerResponsibility serverResponsibility) {
myConfigurator = configurator;
myExecutorService = executorServices.getNormalExecutorService();
myServerResponsibility = serverResponsibility;
final int locksCount = 20;
myTorrentsRepository = new TorrentsRepository(locksCount);
myTrackerService = new TrackerRequestProcessor(myTorrentsRepository, addressChecker);
myTrackerService.setAcceptForeignTorrents(true);
dispatcher.addListener(new BuildServerAdapter(){
@Override
public void serverShutdown() {
stopTracker();
}
@Override
public void serverStartup() {
if (configurator.isTrackerEnabled()) {
startTracker();
}
}
});
myConfigurator.addPropertyChangeListener(new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent evt) {
if (evt.getNewValue() instanceof Integer){
integerPropertyChanged(evt.getPropertyName(), (Integer) evt.getNewValue());
} else if (evt.getNewValue() instanceof Boolean){
booleanPropertyChanged(evt.getPropertyName(), (Boolean) evt.getNewValue());
}
}
});
}