-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ensure ResolverProxy maintains callbacks until init is called. Ensure… #16230
Ensure ResolverProxy maintains callbacks until init is called. Ensure… #16230
Conversation
… server app always initializes the global resolver
PR #16230: Size comparison from 494cfb2 to 876341d Increases (18 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
Full report (18 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
|
@@ -197,6 +197,8 @@ CHIP_ERROR Server::Init(AppDelegate * delegate, uint16_t secureServicePort, uint | |||
err = chip::app::InteractionModelEngine::GetInstance()->Init(&mExchangeMgr); | |||
SuccessOrExit(err); | |||
|
|||
chip::Dnssd::Resolver::Instance().Init(DeviceLayer::UDPEndPointManager()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is already done in OTA Requestor... should it be removed there? https://github.com/project-chip/connectedhomeip/blob/master/examples/ota-requestor-app/linux/main.cpp#L184
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I'd think Server.cpp
is the right home for this bit of logic.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe as a followup? I believe I had added that bit to make CI pass, however it seems obvious now that this needs to be more generic (i.e. all servers have it) instead of just for the requestor app.
… server app always initializes the global resolver (project-chip#16230)
… server app always initializes the global resolver
Problem
OTA on thread does not work (address resolution fails):
ResolverProxy
will only store callbacks after it is initialized, but initialization is async and happens late (e.g. on SRP init, which is only available very late, after thread is set up and working).Change overview
ResolverProxy
store callbacks until init is calledTesting
Manual OTA announcement on a EFR device.