private boolean updateSettings()

in agent/src/main/java/jetbrains/buildServer/torrent/AgentTorrentsManager.java [85:115]


  private boolean updateSettings() {
    try {

      final int defaultSize = SystemInfo.isWindows ? TorrentConfiguration.DEFAULT_BUFFER_SIZE_WINDOWS : -1;
      final TeamcityTorrentClient client = myTorrentsSeeder.getClient();
      client.setSendBufferSize(TeamCityProperties.getInteger(TorrentConfiguration.SEND_BUFFER_SIZE, defaultSize));
      client.setReceiveBufferSize(TeamCityProperties.getInteger(TorrentConfiguration.RECEIVE_BUFFER_SIZE, defaultSize));

      String announceUrl = myTrackerManager.getAnnounceUrl();
      if (announceUrl == null) return false;
      myTrackerAnnounceUrl = new URI(announceUrl);
      myTorrentsSeeder.setSocketTimeout(myTrackerManager.getSocketTimeout());
      myTorrentsSeeder.setCleanupTimeout(myTrackerManager.getCleanupTimeout());
      myTorrentsSeeder.setAnnounceInterval(myAnnounceIntervalSec);
      final int maxConnectionsCount = myTrackerManager.getMaxConnectionsCount();
      myTorrentsSeeder.setMaxIncomingConnectionsCount(maxConnectionsCount);
      myTorrentsSeeder.setMaxOutgoingConnectionsCount(maxConnectionsCount);
      myTransportEnabled = myLeechSettings.isDownloadEnabled();

      boolean needEnableTorrent = (mySeedingSettings.isSeedingEnabled() || myTransportEnabled);
      if (needEnableTorrent) {
        startSeeder();
      } else {
        stopSeeder();
      }
    } catch (Exception e) {
      LOG.warn("Error updating torrent settings", e);
      return false;
    }
    return true;
  }