lib/config, lib/connections: Add optional connection limits (fixes #7176) (#7223)

This adds two new configuration options:

    // The number of connections at which we stop trying to connect to more
    // devices, zero meaning no limit. Does not affect incoming connections.
    ConnectionLimitEnough int

    // The maximum number of connections which we will allow in total, zero
    // meaning no limit. Affects incoming connections and prevents
    // attempting outgoing connections.
    ConnectionLimitMax int

These can be used to limit the number of concurrent connections in
various ways.
This commit is contained in:
Jakob Borg
2021-01-11 15:14:44 +01:00
committed by GitHub
parent e6f0ed65be
commit 0b193b76c2
13 changed files with 555 additions and 218 deletions
@@ -58,6 +58,14 @@ message OptionsConfiguration {
bool send_full_index_on_upgrade = 49;
repeated string feature_flags = 50;
// The number of connections at which we stop trying to connect to more
// devices, zero meaning no limit. Does not affect incoming connections.
int32 connection_limit_enough = 51;
// The maximum number of connections which we will allow in total, zero
// meaning no limit. Affects incoming connections and prevents
// attempting outgoing connections.
int32 connection_limit_max = 52;
// Legacy deprecated
bool upnp_enabled = 9000 [deprecated = true, (ext.goname) = "DeprecatedUPnPEnabled"];