diff options
author | Archie Pusaka <apusaka@chromium.org> | 2021-11-25 15:06:26 +0800 |
---|---|---|
committer | Luiz Augusto von Dentz <luiz.von.dentz@intel.com> | 2021-11-29 09:43:42 -0800 |
commit | 68e1c426cbc4c4f96fc1a074ad88ca56d8a0a3b0 (patch) | |
tree | 7877f5fcd116f83332f9c59514d1b18db74b098c /src/main.c | |
parent | ee004ee7bd8f3d4e10ee4e3eadacbaca4b3b0936 (diff) | |
download | bluez-68e1c426cbc4c4f96fc1a074ad88ca56d8a0a3b0.tar.gz |
main: add configurable RemoteNameRequestRetryDelay parameter
This specifies how long will the userspace ignore a peer with an
unknown name after a failed remote name resolving procedure.
The peer device can still be connected, this only prevents the remote
name resolving procedure retry.
Reviewed-by: Miao-chen Chou <mcchou@chromium.org>
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/src/main.c b/src/main.c index 3adcdc108..8cc2dfca6 100644 --- a/src/main.c +++ b/src/main.c @@ -55,9 +55,10 @@ #define BLUEZ_NAME "org.bluez" -#define DEFAULT_PAIRABLE_TIMEOUT 0 /* disabled */ -#define DEFAULT_DISCOVERABLE_TIMEOUT 180 /* 3 minutes */ -#define DEFAULT_TEMPORARY_TIMEOUT 30 /* 30 seconds */ +#define DEFAULT_PAIRABLE_TIMEOUT 0 /* disabled */ +#define DEFAULT_DISCOVERABLE_TIMEOUT 180 /* 3 minutes */ +#define DEFAULT_TEMPORARY_TIMEOUT 30 /* 30 seconds */ +#define DEFAULT_NAME_REQUEST_RETRY_DELAY 300 /* 5 minutes */ #define SHUTDOWN_GRACE_SECONDS 10 @@ -82,6 +83,7 @@ static const char *supported_options[] = { "JustWorksRepairing", "TemporaryTimeout", "Experimental", + "RemoteNameRequestRetryDelay", NULL }; @@ -816,6 +818,16 @@ static void parse_config(GKeyFile *config) g_strfreev(strlist); } + val = g_key_file_get_integer(config, "General", + "RemoteNameRequestRetryDelay", &err); + if (err) { + DBG("%s", err->message); + g_clear_error(&err); + } else { + DBG("RemoteNameRequestRetryDelay=%d", val); + btd_opts.name_request_retry_delay = val; + } + str = g_key_file_get_string(config, "GATT", "Cache", &err); if (err) { DBG("%s", err->message); @@ -927,6 +939,7 @@ static void init_defaults(void) btd_opts.name_resolv = TRUE; btd_opts.debug_keys = FALSE; btd_opts.refresh_discovery = TRUE; + btd_opts.name_request_retry_delay = DEFAULT_NAME_REQUEST_RETRY_DELAY; btd_opts.defaults.num_entries = 0; btd_opts.defaults.br.page_scan_type = 0xFFFF; |