Go to the documentation of this file.
27 #include "absl/memory/memory.h"
28 #include "absl/status/status.h"
29 #include "absl/status/statusor.h"
30 #include "absl/strings/string_view.h"
176 bool has_result =
false,
177 bool immediate =
true)
242 resolver->work_serializer_->Run([
arg]() {
arg->SetResponseLocked(); },
256 resolver->work_serializer_->Run(
269 resolver->work_serializer_->Run(
282 resolver->work_serializer_->Run([
arg]() {
arg->SetFailureLocked(); },
296 resolver->work_serializer_->Run([
arg]() {
arg->SetFailureLocked(); },
308 resolver_->work_serializer_->Run([
arg]() {
arg->SetResponseLocked(); },
316 void* ResponseGeneratorChannelArgCopy(
void* p) {
318 generator->
Ref().release();
322 void ResponseGeneratorChannelArgDestroy(
void* p) {
323 auto* generator =
static_cast<FakeResolverResponseGenerator*
>(p);
327 int ResponseGeneratorChannelArgCmp(
void* a,
void*
b) {
335 ResponseGeneratorChannelArgCopy, ResponseGeneratorChannelArgDestroy,
336 ResponseGeneratorChannelArgCmp};
347 auto* response_generator =
348 grpc_channel_args_find_pointer<FakeResolverResponseGenerator>(
350 if (response_generator ==
nullptr)
return nullptr;
351 return response_generator->Ref();
364 bool IsValidUri(
const URI& )
const override {
return true; }
366 OrphanablePtr<Resolver> CreateResolver(ResolverArgs
args)
const override {
374 builder->resolver_registry()->RegisterResolverFactory(
375 absl::make_unique<FakeResolverFactory>());
const grpc_channel_args * args
grpc_channel_args * channel_args_
Result reresolution_result_
grpc_channel_args * grpc_channel_args_copy_and_remove(const grpc_channel_args *src, const char **to_remove, size_t num_to_remove)
void SetResponse(Resolver::Result result)
void ShutdownLocked() override
Shuts down the resolver.
std::shared_ptr< WorkSerializer > work_serializer_
void RequestReresolutionLocked() override
void SetReresolutionResponseLocked()
RefCountedPtr< FakeResolver > resolver_
RefCountedPtr< FakeResolverResponseGenerator > response_generator_
void SetFailureOnReresolution()
bool has_reresolution_result_
void MaybeSendResultLocked()
static const grpc_arg_pointer_vtable kChannelArgPointerVtable
~FakeResolverResponseGenerator() override
constexpr absl::remove_reference_t< T > && move(T &&t) noexcept
RefCountedPtr< FakeResolverResponseGenerator > response_generator_
std::unique_ptr< ResultHandler > result_handler_
static RefCountedPtr< FakeResolverResponseGenerator > GetFromArgs(const grpc_channel_args *args)
RefCountedPtr< Resolver > Ref() GRPC_MUST_USE_RESULT
void SetFakeResolver(RefCountedPtr< FakeResolver > resolver)
Results returned by the resolver.
grpc_channel_args * grpc_channel_args_union(const grpc_channel_args *a, const grpc_channel_args *b)
void RegisterFakeResolver(CoreConfiguration::Builder *builder)
#define GRPC_ARG_FAKE_RESOLVER_RESPONSE_GENERATOR
void grpc_channel_args_destroy(grpc_channel_args *a)
grpc_channel_args * grpc_channel_args_copy(const grpc_channel_args *src)
void SetReresolutionResponse(Resolver::Result result)
bool reresolution_closure_pending_
std::unique_ptr< ResultHandler > result_handler_
FakeResolverResponseSetter(RefCountedPtr< FakeResolver > resolver, Resolver::Result result, bool has_result=false, bool immediate=true)
#define GPR_ARRAY_SIZE(array)
int QsortCompare(const T &a, const T &b)
void grpc_resolver_fake_shutdown()
OrphanablePtr< Resolver > resolver_
Status UnavailableError(absl::string_view message)
FakeResolver(ResolverArgs args)
void ReturnReresolutionResult()
void UnsetReresolutionResponse()
std::shared_ptr< WorkSerializer > work_serializer_
static grpc_arg MakeChannelArg(FakeResolverResponseGenerator *generator)
FakeResolverResponseGenerator()
grpc_arg grpc_channel_arg_pointer_create(char *name, void *value, const grpc_arg_pointer_vtable *vtable)
RefCountedPtr< Child > Ref() GRPC_MUST_USE_RESULT
void StartLocked() override
Starts resolving.
grpc
Author(s):
autogenerated on Fri May 16 2025 02:58:22