#include <grpc/support/port_platform.h>
#include "src/core/ext/filters/client_channel/resolver/polling_resolver.h"
#include <inttypes.h>
#include <functional>
#include <type_traits>
#include <utility>
#include <vector>
#include "absl/status/status.h"
#include "absl/status/statusor.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/string_view.h"
#include "absl/strings/strip.h"
#include <grpc/support/log.h>
#include "src/core/lib/backoff/backoff.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/gprpp/debug_location.h"
#include "src/core/lib/gprpp/ref_counted_ptr.h"
#include "src/core/lib/gprpp/work_serializer.h"
#include "src/core/lib/iomgr/exec_ctx.h"
#include "src/core/lib/service_config/service_config.h"
#include "src/core/lib/uri/uri_parser.h"
namespace grpc_core {
EventEngine;
PollingResolver::PollingResolver(ResolverArgs args,
Duration min_time_between_resolutions,
BackOff::Options backoff_options,
TraceFlag* tracer)
: … { … }
PollingResolver::~PollingResolver() { … }
void PollingResolver::StartLocked() { … }
void PollingResolver::RequestReresolutionLocked() { … }
void PollingResolver::ResetBackoffLocked() { … }
void PollingResolver::ShutdownLocked() { … }
void PollingResolver::ScheduleNextResolutionTimer(const Duration& timeout) { … }
void PollingResolver::OnNextResolutionLocked() { … }
void PollingResolver::MaybeCancelNextResolutionTimer() { … }
void PollingResolver::OnRequestComplete(Result result) { … }
void PollingResolver::OnRequestCompleteLocked(Result result) { … }
void PollingResolver::GetResultStatus(absl::Status status) { … }
void PollingResolver::MaybeStartResolvingLocked() { … }
void PollingResolver::StartResolvingLocked() { … }
}