cfg.MinDialTimeout = 5 * time.Second
}
if cfg.EstablishedConnsPerTorrent == 0 {
- cfg.EstablishedConnsPerTorrent = 80
+ cfg.EstablishedConnsPerTorrent = 50
}
if cfg.HalfOpenConnsPerTorrent == 0 {
- cfg.HalfOpenConnsPerTorrent = 80
+ cfg.HalfOpenConnsPerTorrent = (cfg.EstablishedConnsPerTorrent + 1) / 2
}
if cfg.TorrentPeersHighWater == 0 {
+ // Memory and freshness are the concern here.
cfg.TorrentPeersHighWater = 500
}
if cfg.TorrentPeersLowWater == 0 {
- cfg.TorrentPeersLowWater = 50
+ cfg.TorrentPeersLowWater = 2 * cfg.HalfOpenConnsPerTorrent
}
if cfg.HandshakesTimeout == 0 {
cfg.HandshakesTimeout = 20 * time.Second