From 525247fadb36a61dc6160a0b2535ef3568eebce1 Mon Sep 17 00:00:00 2001 From: Abtin Keshavarzian Date: Mon, 18 Sep 2017 08:59:32 -0700 Subject: [PATCH] [address-resolver] add config options for address query timeout parameters (#2201) --- src/core/openthread-core-default-config.h | 36 +++++++++++++++++++++++ src/core/thread/address_resolver.hpp | 6 ++-- 2 files changed, 39 insertions(+), 3 deletions(-) diff --git a/src/core/openthread-core-default-config.h b/src/core/openthread-core-default-config.h index f5af07bf4..a53a19cb3 100644 --- a/src/core/openthread-core-default-config.h +++ b/src/core/openthread-core-default-config.h @@ -195,6 +195,42 @@ #define OPENTHREAD_CONFIG_ADDRESS_CACHE_ENTRIES 10 #endif // OPENTHREAD_CONFIG_ADDRESS_CACHE_ENTRIES +/** + * @def OPENTHREAD_CONFIG_ADDRESS_QUERY_TIMEOUT + * + * The timeout value (in seconds) waiting for a address notification response after sending an address query. + * + * Default: 3 seconds + * + */ +#ifndef OPENTHREAD_CONFIG_ADDRESS_QUERY_TIMEOUT +#define OPENTHREAD_CONFIG_ADDRESS_QUERY_TIMEOUT 3 +#endif // OPENTHREAD_CONFIG_ADDRESS_QUERY_TIMEOUT + +/** + * @def OPENTHREAD_CONFIG_ADDRESS_QUERY_INITIAL_RETRY_DELAY + * + * Initial retry delay for address query (in seconds) + * + * Default: 15 seconds + * + */ +#ifndef OPENTHREAD_CONFIG_ADDRESS_QUERY_INITIAL_RETRY_DELAY +#define OPENTHREAD_CONFIG_ADDRESS_QUERY_INITIAL_RETRY_DELAY 15 +#endif // OPENTHREAD_CONFIG_ADDRESS_QUERY_INITIAL_RETRY_DELAY + +/** + * @def OPENTHREAD_CONFIG_ADDRESS_QUERY_MAX_RETRY_DELAY + * + * Maximum retry delay for address query (in seconds). + * + * Default: 28800 seconds (480 minutes or 8 hours) + * + */ +#ifndef OPENTHREAD_CONFIG_ADDRESS_QUERY_MAX_RETRY_DELAY +#define OPENTHREAD_CONFIG_ADDRESS_QUERY_MAX_RETRY_DELAY 28800 +#endif // OPENTHREAD_CONFIG_ADDRESS_QUERY_MAX_RETRY_DELAY + /** * @def OPENTHREAD_CONFIG_MAX_CHILDREN * diff --git a/src/core/thread/address_resolver.hpp b/src/core/thread/address_resolver.hpp index 573b10a9f..4f093d06d 100644 --- a/src/core/thread/address_resolver.hpp +++ b/src/core/thread/address_resolver.hpp @@ -125,9 +125,9 @@ private: */ enum { - kAddressQueryTimeout = 3, ///< ADDRESS_QUERY_TIMEOUT (seconds) - kAddressQueryInitialRetryDelay = 15, ///< ADDRESS_QUERY_INITIAL_RETRY_DELAY (seconds) - kAddressQueryMaxRetryDelay = 28800, ///< ADDRESS_QUERY_MAX_RETRY_DELAY (seconds) + kAddressQueryTimeout = OPENTHREAD_CONFIG_ADDRESS_QUERY_TIMEOUT, // in seconds + kAddressQueryInitialRetryDelay = OPENTHREAD_CONFIG_ADDRESS_QUERY_INITIAL_RETRY_DELAY, // in seconds + kAddressQueryMaxRetryDelay = OPENTHREAD_CONFIG_ADDRESS_QUERY_MAX_RETRY_DELAY, // in seconds }; struct Cache