Skip to content

Commit bd09091

Browse files
committed
review
1 parent c1db57d commit bd09091

File tree

2 files changed

+23
-19
lines changed

2 files changed

+23
-19
lines changed

src/core/util/http_client/httpcli.cc

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -177,12 +177,13 @@ HttpRequest::HttpRequest(
177177
test_only_generate_response_(std::move(test_only_generate_response)),
178178
use_event_engine_dns_resolver_(IsEventEngineDnsNonClientChannelEnabled()),
179179
resolver_(!use_event_engine_dns_resolver_ ? GetDNSResolver() : nullptr),
180-
ee_resolver_(use_event_engine_dns_resolver_
181-
? ChannelArgs::FromC(channel_args_)
182-
.GetObjectRef<EventEngine>()
183-
->GetDNSResolver(
184-
EventEngine::DNSResolver::ResolverOptions())
185-
: absl::UnknownError("")) {
180+
ee_resolver_(
181+
use_event_engine_dns_resolver_
182+
? ChannelArgs::FromC(channel_args_)
183+
.GetObjectRef<EventEngine>()
184+
->GetDNSResolver(
185+
EventEngine::DNSResolver::ResolverOptions())
186+
: absl::InternalError("EventEngine DNS is not enabled")) {
186187
grpc_http_parser_init(&parser_, GRPC_HTTP_RESPONSE, response);
187188
grpc_slice_buffer_init(&incoming_);
188189
grpc_slice_buffer_init(&outgoing_);
@@ -222,21 +223,26 @@ void HttpRequest::Start() {
222223
Ref().release(); // ref held by pending DNS resolution
223224
if (use_event_engine_dns_resolver_) {
224225
(*ee_resolver_)
225-
->LookupHostname(absl::bind_front(&HttpRequest::OnResolved, this),
226-
uri_.authority(), uri_.scheme());
226+
->LookupHostname(
227+
[this](absl::StatusOr<std::vector<EventEngine::ResolvedAddress>>
228+
addresses_or) {
229+
ApplicationCallbackExecCtx callback_exec_ctx;
230+
ExecCtx exec_ctx;
231+
OnResolved(addresses_or);
232+
},
233+
uri_.authority(), uri_.scheme());
227234
} else {
228235
dns_request_handle_ = resolver_->LookupHostname(
229-
[this](
230-
absl::StatusOr<std::vector<grpc_resolved_address>> addresses_or) {
231-
if (addresses_or.ok()) {
232-
std::vector<EventEngine::ResolvedAddress> addresses;
233-
for (const auto& addr : *addresses_or) {
234-
addresses.push_back(
236+
[this](absl::StatusOr<std::vector<grpc_resolved_address>> addresses) {
237+
if (addresses.ok()) {
238+
std::vector<EventEngine::ResolvedAddress> ee_addresses;
239+
for (const auto& addr : *addresses) {
240+
ee_addresses.push_back(
235241
grpc_event_engine::experimental::CreateResolvedAddress(addr));
236242
}
237-
OnResolved(addresses);
243+
OnResolved(ee_addresses);
238244
} else {
239-
OnResolved(addresses_or.status());
245+
OnResolved(addresses.status());
240246
}
241247
},
242248
uri_.authority(), uri_.scheme(), kDefaultDNSRequestTimeout,
@@ -399,8 +405,6 @@ void HttpRequest::NextAddress(grpc_error_handle error) {
399405

400406
void HttpRequest::OnResolved(
401407
absl::StatusOr<std::vector<EventEngine::ResolvedAddress>> addresses_or) {
402-
ApplicationCallbackExecCtx callback_exec_ctx;
403-
ExecCtx exec_ctx;
404408
RefCountedPtr<HttpRequest> unreffer(this);
405409
MutexLock lock(&mu_);
406410
if (use_event_engine_dns_resolver_) {

src/core/util/http_client/httpcli.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ class HttpRequest : public InternallyRefCounted<HttpRequest> {
265265
grpc_error_handle overall_error_ ABSL_GUARDED_BY(mu_) = absl::OkStatus();
266266
// TODO(yijiem): remove these once event_engine_dns_non_client_channel
267267
// experiment is fully enabled.
268-
bool use_event_engine_dns_resolver_ = false;
268+
bool use_event_engine_dns_resolver_;
269269
std::shared_ptr<DNSResolver> resolver_;
270270
absl::optional<DNSResolver::TaskHandle> dns_request_handle_
271271
ABSL_GUARDED_BY(mu_) = DNSResolver::kNullHandle;

0 commit comments

Comments
 (0)