#include <grpc/support/port_platform.h>
#include "src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h"
#include <memory>
#include <utility>
#include "absl/status/status.h"
#include "absl/status/statusor.h"
#include "absl/strings/string_view.h"
#include <grpc/support/log.h>
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/config/core_configuration.h"
#include "src/core/lib/gpr/useful.h"
#include "src/core/lib/gprpp/debug_location.h"
#include "src/core/lib/gprpp/orphanable.h"
#include "src/core/lib/gprpp/work_serializer.h"
#include "src/core/lib/resolver/resolver_factory.h"
#include "src/core/lib/resolver/server_address.h"
#include "src/core/lib/service_config/service_config.h"
#include "src/core/lib/uri/uri_parser.h"
namespace grpc_core {
class FakeResolver : public Resolver { … };
FakeResolver::FakeResolver(ResolverArgs args)
: … { … }
void FakeResolver::StartLocked() { … }
void FakeResolver::RequestReresolutionLocked() { … }
void FakeResolver::ShutdownLocked() { … }
void FakeResolver::MaybeSendResultLocked() { … }
void FakeResolver::ReturnReresolutionResult() { … }
class FakeResolverResponseSetter { … };
void FakeResolverResponseSetter::SetReresolutionResponseLocked() { … }
void FakeResolverResponseSetter::SetResponseLocked() { … }
void FakeResolverResponseSetter::SetFailureLocked() { … }
FakeResolverResponseGenerator::FakeResolverResponseGenerator() { … }
FakeResolverResponseGenerator::~FakeResolverResponseGenerator() { … }
void FakeResolverResponseGenerator::SetResponse(Resolver::Result result) { … }
void FakeResolverResponseGenerator::SetReresolutionResponse(
Resolver::Result result) { … }
void FakeResolverResponseGenerator::UnsetReresolutionResponse() { … }
void FakeResolverResponseGenerator::SetFailure() { … }
void FakeResolverResponseGenerator::SetFailureOnReresolution() { … }
void FakeResolverResponseGenerator::SetFakeResolver(
RefCountedPtr<FakeResolver> resolver) { … }
namespace {
void* ResponseGeneratorChannelArgCopy(void* p) { … }
void ResponseGeneratorChannelArgDestroy(void* p) { … }
int ResponseGeneratorChannelArgCmp(void* a, void* b) { … }
}
const grpc_arg_pointer_vtable
FakeResolverResponseGenerator::kChannelArgPointerVtable = …;
grpc_arg FakeResolverResponseGenerator::MakeChannelArg(
FakeResolverResponseGenerator* generator) { … }
RefCountedPtr<FakeResolverResponseGenerator>
FakeResolverResponseGenerator::GetFromArgs(const grpc_channel_args* args) { … }
namespace {
class FakeResolverFactory : public ResolverFactory { … };
}
void RegisterFakeResolver(CoreConfiguration::Builder* builder) { … }
}
void grpc_resolver_fake_shutdown() { … }