public TorrentTrackerManager()

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());
        }
      }
    });
  }