Skip to content

Commit 607a6da

Browse files
authored
Add new CHIP_CONFIG_ADDRESS_RESOLVE_MIN_LOOKUP_TIME_MS and (#35102)
CHIP_CONFIG_ADDRESS_RESOLVE_MAX_LOOKUP_TIME_MS macros to CHIPConfig. Use new lookup time min/max macros inside AddressResolve for default kMinLookupTimeMsDefault and kMaxLookupTimeMsDefault to allow for applications to override the time required to wait for an address lookup before timing out.
1 parent 07789d4 commit 607a6da

File tree

2 files changed

+30
-2
lines changed

2 files changed

+30
-2
lines changed

src/lib/address_resolve/AddressResolve.h

+8-2
Original file line numberDiff line numberDiff line change
@@ -143,8 +143,14 @@ class NodeLookupRequest
143143
}
144144

145145
private:
146-
static constexpr uint32_t kMinLookupTimeMsDefault = 200;
147-
static constexpr uint32_t kMaxLookupTimeMsDefault = 45000;
146+
static_assert((CHIP_CONFIG_ADDRESS_RESOLVE_MIN_LOOKUP_TIME_MS) <= (CHIP_CONFIG_ADDRESS_RESOLVE_MAX_LOOKUP_TIME_MS),
147+
"AddressResolveMinLookupTime must be equal or less than AddressResolveMaxLookupTime");
148+
static_assert((CHIP_CONFIG_ADDRESS_RESOLVE_MIN_LOOKUP_TIME_MS) >= 0,
149+
"AddressResolveMinLookupTime must be equal or greater than 0");
150+
static_assert((CHIP_CONFIG_ADDRESS_RESOLVE_MAX_LOOKUP_TIME_MS) < UINT32_MAX,
151+
"AddressResolveMaxLookupTime must be less than UINT32_MAX");
152+
static constexpr uint32_t kMinLookupTimeMsDefault = CHIP_CONFIG_ADDRESS_RESOLVE_MIN_LOOKUP_TIME_MS;
153+
static constexpr uint32_t kMaxLookupTimeMsDefault = CHIP_CONFIG_ADDRESS_RESOLVE_MAX_LOOKUP_TIME_MS;
148154

149155
PeerId mPeerId;
150156
System::Clock::Milliseconds32 mMinLookupTimeMs{ kMinLookupTimeMsDefault };

src/lib/core/CHIPConfig.h

+22
Original file line numberDiff line numberDiff line change
@@ -1370,6 +1370,28 @@ extern const char CHIP_NON_PRODUCTION_MARKER[];
13701370
#define CHIP_CONFIG_MDNS_RESOLVE_LOOKUP_RESULTS 1
13711371
#endif // CHIP_CONFIG_MDNS_RESOLVE_LOOKUP_RESULTS
13721372

1373+
/**
1374+
* @def CHIP_CONFIG_ADDRESS_RESOLVE_MIN_LOOKUP_TIME_MS
1375+
*
1376+
* @brief Default minimum lookup time to wait during address resolve for
1377+
* additional DNSSD queries even if a reply has already been received, or
1378+
* to allow for additional heuristics regarding node choice to succeed, in
1379+
* milliseconds
1380+
*/
1381+
#ifndef CHIP_CONFIG_ADDRESS_RESOLVE_MIN_LOOKUP_TIME_MS
1382+
#define CHIP_CONFIG_ADDRESS_RESOLVE_MIN_LOOKUP_TIME_MS 200
1383+
#endif // CHIP_CONFIG_ADDRESS_RESOLVE_MIN_LOOKUP_TIME_MS
1384+
1385+
/**
1386+
* @def CHIP_CONFIG_ADDRESS_RESOLVE_MAX_LOOKUP_TIME_MS
1387+
*
1388+
* @brief Default maximum lookup time to wait during address resolve before
1389+
* a TIMEOUT error, in milliseconds
1390+
*/
1391+
#ifndef CHIP_CONFIG_ADDRESS_RESOLVE_MAX_LOOKUP_TIME_MS
1392+
#define CHIP_CONFIG_ADDRESS_RESOLVE_MAX_LOOKUP_TIME_MS 45000
1393+
#endif // CHIP_CONFIG_ADDRESS_RESOLVE_MAX_LOOKUP_TIME_MS
1394+
13731395
/*
13741396
* @def CHIP_CONFIG_NETWORK_COMMISSIONING_DEBUG_TEXT_BUFFER_SIZE
13751397
*

0 commit comments

Comments
 (0)